In archive target\thumbv7em-none-eabihf\debug\libapp.rlib:

app-2c84bd17359ee43e.10zn9ae9k56vomcm.rcgu.o:     file format elf32-littlearm

SYMBOL TABLE:
00000000 l    df *ABS*	00000000 10zn9ae9k56vomcm
00000107 l       .debug_str	00000000 
000008fe l       .debug_str	00000000 
00000928 l       .debug_str	00000000 
000008fb l       .debug_str	00000000 
0000091e l       .debug_str	00000000 
000008b9 l       .debug_str	00000000 
0000087f l       .debug_str	00000000 
0000087b l       .debug_str	00000000 
00000876 l       .debug_str	00000000 
0000091c l       .debug_str	00000000 
00000866 l       .debug_str	00000000 
0000085c l       .debug_str	00000000 
0000084f l       .debug_str	00000000 
0000084c l       .debug_str	00000000 
00000849 l       .debug_str	00000000 
000007df l       .debug_str	00000000 
00000781 l       .debug_str	00000000 
0000077b l       .debug_str	00000000 
00000776 l       .debug_str	00000000 
00000743 l       .debug_str	00000000 
000006f0 l       .debug_str	00000000 
000006b5 l       .debug_str	00000000 
000005fe l       .debug_str	00000000 
000005a4 l       .debug_str	00000000 
0000056f l       .debug_str	00000000 
00000561 l       .debug_str	00000000 
00000549 l       .debug_str	00000000 
0000053b l       .debug_str	00000000 
00000532 l       .debug_str	00000000 
000004fe l       .debug_str	00000000 
00000465 l       .debug_str	00000000 
000003c8 l       .debug_str	00000000 
00000914 l       .debug_str	00000000 
00000394 l       .debug_str	00000000 
0000090f l       .debug_str	00000000 
000002fd l       .debug_str	00000000 
00000905 l       .debug_str	00000000 
00000000 l       .debug_str	00000000 
00000041 l       .debug_str	00000000 
00000055 l       .debug_str	00000000 
00000076 l       .debug_str	00000000 
00000088 l       .debug_str	00000000 
00000093 l       .debug_str	00000000 
0000009a l       .debug_str	00000000 
000000a3 l       .debug_str	00000000 
000000a8 l       .debug_str	00000000 
000000af l       .debug_str	00000000 
000000b5 l       .debug_str	00000000 
000000c4 l       .debug_str	00000000 
000000c8 l       .debug_str	00000000 
000000cc l       .debug_str	00000000 
000000d0 l       .debug_str	00000000 
000000d6 l       .debug_str	00000000 
000000dd l       .debug_str	00000000 
000000e1 l       .debug_str	00000000 
000000e7 l       .debug_str	00000000 
000000f2 l       .debug_str	00000000 
000000f7 l       .debug_str	00000000 
000000fe l       .debug_str	00000000 
00000102 l       .debug_str	00000000 
000002bf l       .debug_str	00000000 
00000112 l       .debug_str	00000000 
00000119 l       .debug_str	00000000 
00000120 l       .debug_str	00000000 
00000122 l       .debug_str	00000000 
00000127 l       .debug_str	00000000 
0000015d l       .debug_str	00000000 
0000016a l       .debug_str	00000000 
00000177 l       .debug_str	00000000 
0000017a l       .debug_str	00000000 
0000017c l       .debug_str	00000000 
000001b1 l       .debug_str	00000000 
000001b3 l       .debug_str	00000000 
000001e9 l       .debug_str	00000000 
00000282 l       .debug_str	00000000 
000002bb l       .debug_str	00000000 
000002bd l       .debug_str	00000000 
00000901 l       .debug_str	00000000 
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.1	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.1
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.10	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.10
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.11	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.11
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.12	00000018 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.12
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.13	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.13
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.14	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.14
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.15	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.15
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.16	00000016 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.16
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.17	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.17
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.18	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.18
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.19	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.19
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.2	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.2
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.20	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.20
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.3	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.3
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.4	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.4
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.5	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.5
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.6	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.6
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.7	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.7
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.8	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.8
00000000 l     O .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.9	00000010 .Lanon.c1a8c345e64e25c7a52c40a09beddbd2.9
00000000 l     O .rodata.str.0	0000001f str.0
00000000 l     O .rodata.str.1	00000021 str.1
00000000 l     O .rodata.str.2	0000001c str.2
00000000 l     O .rodata.str.3	00000021 str.3
00000000 l    d  .text._ZN116_$LT$embedded_graphics..primitives..circle..Circle$LT$C$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hf6ac02e081e0e8c2E	00000000 .text._ZN116_$LT$embedded_graphics..primitives..circle..Circle$LT$C$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hf6ac02e081e0e8c2E
00000000 l    d  .text._ZN119_$LT$embedded_graphics..primitives..circle..Circle$LT$C$GT$$u20$as$u20$embedded_graphics..style..WithStyle$LT$C$GT$$GT$4fill17he6d15dd5054627b6E	00000000 .text._ZN119_$LT$embedded_graphics..primitives..circle..Circle$LT$C$GT$$u20$as$u20$embedded_graphics..style..WithStyle$LT$C$GT$$GT$4fill17he6d15dd5054627b6E
00000000 l    d  .text._ZN120_$LT$$RF$embedded_graphics..primitives..circle..Circle$LT$C$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h04c6a076c36d8789E	00000000 .text._ZN120_$LT$$RF$embedded_graphics..primitives..circle..Circle$LT$C$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h04c6a076c36d8789E
00000000 l    d  .text._ZN121_$LT$embedded_graphics..primitives..circle..CircleIterator$LT$C$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hb8102d7041ba719fE	00000000 .text._ZN121_$LT$embedded_graphics..primitives..circle..CircleIterator$LT$C$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hb8102d7041ba719fE
00000000 l    d  .text._ZN121_$LT$embedded_graphics..primitives..circle..CircleIterator$LT$C$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17hbbf07162f4fee5c8E	00000000 .text._ZN121_$LT$embedded_graphics..primitives..circle..CircleIterator$LT$C$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17hbbf07162f4fee5c8E
00000000 l    d  .text._ZN17embedded_graphics10primitives6circle15Circle$LT$C$GT$3new17hdc833c988aba08d1E	00000000 .text._ZN17embedded_graphics10primitives6circle15Circle$LT$C$GT$3new17hdc833c988aba08d1E
00000000 l    d  .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.0	00000000 .rodata..Lanon.c1a8c345e64e25c7a52c40a09beddbd2.0
00000000 l    d  .debug_loc	00000000 .debug_loc
00000000 l    d  .debug_abbrev	00000000 .debug_abbrev
00000000 l    d  .debug_info	00000000 .debug_info
00000000 l    d  .debug_ranges	00000000 .debug_ranges
00000000 l    d  .debug_frame	00000000 .debug_frame
00000000 l    d  .debug_line	00000000 .debug_line
00000000         *UND*	00000000 <embedded_graphics::coord::internal_coord::Coord as core::ops::index::Index<usize>>::index
00000000         *UND*	00000000 <embedded_graphics::coord::internal_coord::Coord as embedded_graphics::coord::ToUnsigned>::to_unsigned
00000000 g     F .text._ZN116_$LT$embedded_graphics..primitives..circle..Circle$LT$C$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hf6ac02e081e0e8c2E	0000000a <embedded_graphics::primitives::circle::Circle<C> as core::iter::traits::collect::IntoIterator>::into_iter
00000000 g     F .text._ZN119_$LT$embedded_graphics..primitives..circle..Circle$LT$C$GT$$u20$as$u20$embedded_graphics..style..WithStyle$LT$C$GT$$GT$4fill17he6d15dd5054627b6E	00000028 <embedded_graphics::primitives::circle::Circle<C> as embedded_graphics::style::WithStyle<C>>::fill
00000000 g     F .text._ZN120_$LT$$RF$embedded_graphics..primitives..circle..Circle$LT$C$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h04c6a076c36d8789E	000000b2 <&embedded_graphics::primitives::circle::Circle<C> as core::iter::traits::collect::IntoIterator>::into_iter
00000000 g     F .text._ZN121_$LT$embedded_graphics..primitives..circle..CircleIterator$LT$C$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hb8102d7041ba719fE	00000558 <embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next
00000000 g     F .text._ZN121_$LT$embedded_graphics..primitives..circle..CircleIterator$LT$C$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17hbbf07162f4fee5c8E	00000048 <embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next::{{closure}}
00000000 g     F .text._ZN17embedded_graphics10primitives6circle15Circle$LT$C$GT$3new17hdc833c988aba08d1E	0000004e embedded_graphics::primitives::circle::Circle<C>::new
00000000         *UND*	00000000 embedded_graphics::coord::internal_coord::Coord::new
00000000         *UND*	00000000 core::option::Option<T>::map
00000000         *UND*	00000000 core::option::Option<T>::expect
00000000         *UND*	00000000 core::option::Option<T>::is_none
00000000         *UND*	00000000 core::option::Option<T>::is_some
00000000         *UND*	00000000 core::panicking::panic
00000000         *UND*	00000000 <embedded_graphics::style::Style<P> as core::default::Default>::default



Disassembly of section .text._ZN116_$LT$embedded_graphics..primitives..circle..Circle$LT$C$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hf6ac02e081e0e8c2E:

00000000 <<embedded_graphics::primitives::circle::Circle<C> as core::iter::traits::collect::IntoIterator>::into_iter>:
_ZN116_$LT$embedded_graphics..primitives..circle..Circle$LT$C$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hf6ac02e081e0e8c2E():
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:128
    C: PixelColor,
{
    type Item = Pixel<C>;
    type IntoIter = CircleIterator<C>;

    fn into_iter(self) -> Self::IntoIter {
   0:	b580      	push	{r7, lr}
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:129
        (&self).into_iter()
   2:	f7ff fffe 	bl	0 <<embedded_graphics::primitives::circle::Circle<C> as core::iter::traits::collect::IntoIterator>::into_iter>
   6:	e7ff      	b.n	8 <<embedded_graphics::primitives::circle::Circle<C> as core::iter::traits::collect::IntoIterator>::into_iter+0x8>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:130
    }
   8:	bd80      	pop	{r7, pc}

Disassembly of section .text._ZN119_$LT$embedded_graphics..primitives..circle..Circle$LT$C$GT$$u20$as$u20$embedded_graphics..style..WithStyle$LT$C$GT$$GT$4fill17he6d15dd5054627b6E:

00000000 <<embedded_graphics::primitives::circle::Circle<C> as embedded_graphics::style::WithStyle<C>>::fill>:
_ZN119_$LT$embedded_graphics..primitives..circle..Circle$LT$C$GT$$u20$as$u20$embedded_graphics..style..WithStyle$LT$C$GT$$GT$4fill17he6d15dd5054627b6E():
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:114
    fn fill(mut self, color: Option<C>) -> Self {
   0:	b5f0      	push	{r4, r5, r6, r7, lr}
   2:	b081      	sub	sp, #4
   4:	469c      	mov	ip, r3
   6:	4696      	mov	lr, r2
   8:	f8ad 2000 	strh.w	r2, [sp]
   c:	f8ad 3002 	strh.w	r3, [sp, #2]
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:115
        self.style.fill_color = color;
  10:	f8bd 2000 	ldrh.w	r2, [sp]
  14:	f8bd 3002 	ldrh.w	r3, [sp, #2]
  18:	818a      	strh	r2, [r1, #12]
  1a:	81cb      	strh	r3, [r1, #14]
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:117
        self
  1c:	e891 00fc 	ldmia.w	r1, {r2, r3, r4, r5, r6, r7}
  20:	e880 00fc 	stmia.w	r0, {r2, r3, r4, r5, r6, r7}
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:118
    }
  24:	b001      	add	sp, #4
  26:	bdf0      	pop	{r4, r5, r6, r7, pc}

Disassembly of section .text._ZN120_$LT$$RF$embedded_graphics..primitives..circle..Circle$LT$C$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h04c6a076c36d8789E:

00000000 <<&embedded_graphics::primitives::circle::Circle<C> as core::iter::traits::collect::IntoIterator>::into_iter>:
_ZN120_$LT$$RF$embedded_graphics..primitives..circle..Circle$LT$C$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h04c6a076c36d8789E():
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:140
    C: PixelColor,
{
    type Item = Pixel<C>;
    type IntoIter = CircleIterator<C>;

    fn into_iter(self) -> Self::IntoIter {
   0:	b5b0      	push	{r4, r5, r7, lr}
   2:	b08c      	sub	sp, #48	; 0x30
   4:	9108      	str	r1, [sp, #32]
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:142
        CircleIterator {
            center: self.center,
   6:	9908      	ldr	r1, [sp, #32]
   8:	680a      	ldr	r2, [r1, #0]
   a:	684b      	ldr	r3, [r1, #4]
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:143
            radius: self.radius,
   c:	f8d1 c008 	ldr.w	ip, [r1, #8]
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:144
            style: self.style,
  10:	f8b1 e014 	ldrh.w	lr, [r1, #20]
  14:	f8ad e02c 	strh.w	lr, [sp, #44]	; 0x2c
  18:	f8d1 e00c 	ldr.w	lr, [r1, #12]
  1c:	6909      	ldr	r1, [r1, #16]
  1e:	910a      	str	r1, [sp, #40]	; 0x28
  20:	f8cd e024 	str.w	lr, [sp, #36]	; 0x24
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:145
            x: -(self.radius as i32),
  24:	9908      	ldr	r1, [sp, #32]
  26:	6889      	ldr	r1, [r1, #8]
  28:	f1b1 4f00 	cmp.w	r1, #2147483648	; 0x80000000
  2c:	9007      	str	r0, [sp, #28]
  2e:	9206      	str	r2, [sp, #24]
  30:	9305      	str	r3, [sp, #20]
  32:	f8cd c010 	str.w	ip, [sp, #16]
  36:	9103      	str	r1, [sp, #12]
  38:	d023      	beq.n	82 <<&embedded_graphics::primitives::circle::Circle<C> as core::iter::traits::collect::IntoIterator>::into_iter+0x82>
  3a:	e7ff      	b.n	3c <<&embedded_graphics::primitives::circle::Circle<C> as core::iter::traits::collect::IntoIterator>::into_iter+0x3c>
  3c:	9803      	ldr	r0, [sp, #12]
  3e:	4241      	negs	r1, r0
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:146
            y: -(self.radius as i32),
  40:	9a08      	ldr	r2, [sp, #32]
  42:	6892      	ldr	r2, [r2, #8]
  44:	f1b2 4f00 	cmp.w	r2, #2147483648	; 0x80000000
  48:	9102      	str	r1, [sp, #8]
  4a:	9201      	str	r2, [sp, #4]
  4c:	d025      	beq.n	9a <<&embedded_graphics::primitives::circle::Circle<C> as core::iter::traits::collect::IntoIterator>::into_iter+0x9a>
  4e:	e7ff      	b.n	50 <<&embedded_graphics::primitives::circle::Circle<C> as core::iter::traits::collect::IntoIterator>::into_iter+0x50>
  50:	9801      	ldr	r0, [sp, #4]
  52:	4241      	negs	r1, r0
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:141
        CircleIterator {
  54:	9a06      	ldr	r2, [sp, #24]
  56:	9b07      	ldr	r3, [sp, #28]
  58:	601a      	str	r2, [r3, #0]
  5a:	f8dd c014 	ldr.w	ip, [sp, #20]
  5e:	f8c3 c004 	str.w	ip, [r3, #4]
  62:	f8dd e010 	ldr.w	lr, [sp, #16]
  66:	f8c3 e008 	str.w	lr, [r3, #8]
  6a:	f8bd 402c 	ldrh.w	r4, [sp, #44]	; 0x2c
  6e:	839c      	strh	r4, [r3, #28]
  70:	9c09      	ldr	r4, [sp, #36]	; 0x24
  72:	9d0a      	ldr	r5, [sp, #40]	; 0x28
  74:	619d      	str	r5, [r3, #24]
  76:	615c      	str	r4, [r3, #20]
  78:	9c02      	ldr	r4, [sp, #8]
  7a:	60dc      	str	r4, [r3, #12]
  7c:	6119      	str	r1, [r3, #16]
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:148
        }
    }
  7e:	b00c      	add	sp, #48	; 0x30
  80:	bdb0      	pop	{r4, r5, r7, pc}
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:145
            x: -(self.radius as i32),
  82:	f240 0000 	movw	r0, #0
  86:	f2c0 0000 	movt	r0, #0
  8a:	f240 0200 	movw	r2, #0
  8e:	f2c0 0200 	movt	r2, #0
  92:	211f      	movs	r1, #31
  94:	f7ff fffe 	bl	0 <core::panicking::panic>
  98:	defe      	udf	#254	; 0xfe
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:146
            y: -(self.radius as i32),
  9a:	f240 0000 	movw	r0, #0
  9e:	f2c0 0000 	movt	r0, #0
  a2:	f240 0200 	movw	r2, #0
  a6:	f2c0 0200 	movt	r2, #0
  aa:	211f      	movs	r1, #31
  ac:	f7ff fffe 	bl	0 <core::panicking::panic>
  b0:	defe      	udf	#254	; 0xfe

Disassembly of section .text._ZN121_$LT$embedded_graphics..primitives..circle..CircleIterator$LT$C$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hb8102d7041ba719fE:

00000000 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next>:
_ZN121_$LT$embedded_graphics..primitives..circle..CircleIterator$LT$C$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hb8102d7041ba719fE():
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:168
    C: PixelColor,
{
    type Item = Pixel<C>;

    // https://stackoverflow.com/questions/1201200/fast-algorithm-for-drawing-filled-circles
    fn next(&mut self) -> Option<Self::Item> {
   0:	b580      	push	{r7, lr}
   2:	b0c2      	sub	sp, #264	; 0x108
   4:	911d      	str	r1, [sp, #116]	; 0x74
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:170
        // If border or stroke colour is `None`, treat entire object as transparent and exit early
        if self.style.stroke_color.is_none() && self.style.fill_color.is_none() {
   6:	991d      	ldr	r1, [sp, #116]	; 0x74
   8:	3118      	adds	r1, #24
   a:	901c      	str	r0, [sp, #112]	; 0x70
   c:	4608      	mov	r0, r1
   e:	f7ff fffe 	bl	0 <core::option::Option<T>::is_none>
  12:	901b      	str	r0, [sp, #108]	; 0x6c
  14:	e013      	b.n	3e <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x3e>
  16:	2001      	movs	r0, #1
  18:	f88d 007b 	strb.w	r0, [sp, #123]	; 0x7b
  1c:	e009      	b.n	32 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x32>
  1e:	2000      	movs	r0, #0
  20:	f88d 007b 	strb.w	r0, [sp, #123]	; 0x7b
  24:	e005      	b.n	32 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x32>
  26:	981d      	ldr	r0, [sp, #116]	; 0x74
  28:	3014      	adds	r0, #20
  2a:	f7ff fffe 	bl	0 <core::option::Option<T>::is_none>
  2e:	901a      	str	r0, [sp, #104]	; 0x68
  30:	e00a      	b.n	48 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x48>
  32:	f89d 007b 	ldrb.w	r0, [sp, #123]	; 0x7b
  36:	07c0      	lsls	r0, r0, #31
  38:	2800      	cmp	r0, #0
  3a:	d110      	bne.n	5e <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x5e>
  3c:	e009      	b.n	52 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x52>
  3e:	981b      	ldr	r0, [sp, #108]	; 0x6c
  40:	07c1      	lsls	r1, r0, #31
  42:	2900      	cmp	r1, #0
  44:	d1ef      	bne.n	26 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x26>
  46:	e7ea      	b.n	1e <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x1e>
  48:	981a      	ldr	r0, [sp, #104]	; 0x68
  4a:	07c1      	lsls	r1, r0, #31
  4c:	2900      	cmp	r1, #0
  4e:	d1e2      	bne.n	16 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x16>
  50:	e7e5      	b.n	1e <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x1e>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:174
            return None;
        }

        let cx = self.center[0];
  52:	981d      	ldr	r0, [sp, #116]	; 0x74
  54:	2100      	movs	r1, #0
  56:	f7ff fffe 	bl	0 <<embedded_graphics::coord::internal_coord::Coord as core::ops::index::Index<usize>>::index>
  5a:	9019      	str	r0, [sp, #100]	; 0x64
  5c:	e005      	b.n	6a <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x6a>
  5e:	2000      	movs	r0, #0
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:171
            return None;
  60:	991c      	ldr	r1, [sp, #112]	; 0x70
  62:	6008      	str	r0, [r1, #0]
  64:	e7ff      	b.n	66 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x66>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:228
                }
            }
        };

        item.map(|(x, y, c)| Pixel(Coord::new(x, y).to_unsigned(), c))
    }
  66:	b042      	add	sp, #264	; 0x108
  68:	bd80      	pop	{r7, pc}
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:174
        let cx = self.center[0];
  6a:	9819      	ldr	r0, [sp, #100]	; 0x64
  6c:	6801      	ldr	r1, [r0, #0]
  6e:	911f      	str	r1, [sp, #124]	; 0x7c
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:175
        let cy = self.center[1];
  70:	981d      	ldr	r0, [sp, #116]	; 0x74
  72:	2101      	movs	r1, #1
  74:	f7ff fffe 	bl	0 <<embedded_graphics::coord::internal_coord::Coord as core::ops::index::Index<usize>>::index>
  78:	9018      	str	r0, [sp, #96]	; 0x60
  7a:	e7ff      	b.n	7c <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x7c>
  7c:	9818      	ldr	r0, [sp, #96]	; 0x60
  7e:	6801      	ldr	r1, [r0, #0]
  80:	9120      	str	r1, [sp, #128]	; 0x80
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:177
        let radius = self.radius as i32 - self.style.stroke_width as i32 + 1;
  82:	991d      	ldr	r1, [sp, #116]	; 0x74
  84:	688a      	ldr	r2, [r1, #8]
  86:	7f09      	ldrb	r1, [r1, #28]
  88:	1a53      	subs	r3, r2, r1
  8a:	428a      	cmp	r2, r1
  8c:	9317      	str	r3, [sp, #92]	; 0x5c
  8e:	f180 81a3 	bvs.w	3d8 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x3d8>
  92:	e7ff      	b.n	94 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x94>
  94:	9817      	ldr	r0, [sp, #92]	; 0x5c
  96:	1c41      	adds	r1, r0, #1
  98:	460a      	mov	r2, r1
  9a:	4281      	cmp	r1, r0
  9c:	9216      	str	r2, [sp, #88]	; 0x58
  9e:	f180 81a7 	bvs.w	3f0 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x3f0>
  a2:	e7ff      	b.n	a4 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0xa4>
  a4:	9816      	ldr	r0, [sp, #88]	; 0x58
  a6:	9021      	str	r0, [sp, #132]	; 0x84
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:178
        let outer_radius = self.radius as i32;
  a8:	991d      	ldr	r1, [sp, #116]	; 0x74
  aa:	6889      	ldr	r1, [r1, #8]
  ac:	9122      	str	r1, [sp, #136]	; 0x88
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:180
        let radius_sq = radius * radius;
  ae:	9921      	ldr	r1, [sp, #132]	; 0x84
  b0:	fb01 f201 	mul.w	r2, r1, r1
  b4:	fb81 1301 	smull	r1, r3, r1, r1
  b8:	ebb3 7fe1 	cmp.w	r3, r1, asr #31
  bc:	9215      	str	r2, [sp, #84]	; 0x54
  be:	f040 81a3 	bne.w	408 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x408>
  c2:	e7ff      	b.n	c4 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0xc4>
  c4:	9815      	ldr	r0, [sp, #84]	; 0x54
  c6:	9023      	str	r0, [sp, #140]	; 0x8c
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:181
        let outer_radius_sq = outer_radius * outer_radius;
  c8:	9922      	ldr	r1, [sp, #136]	; 0x88
  ca:	fb01 f201 	mul.w	r2, r1, r1
  ce:	fb81 1301 	smull	r1, r3, r1, r1
  d2:	ebb3 7fe1 	cmp.w	r3, r1, asr #31
  d6:	9214      	str	r2, [sp, #80]	; 0x50
  d8:	f040 81a2 	bne.w	420 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x420>
  dc:	e7ff      	b.n	de <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0xde>
  de:	9814      	ldr	r0, [sp, #80]	; 0x50
  e0:	9024      	str	r0, [sp, #144]	; 0x90
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:183
        let item = loop {
  e2:	e7ff      	b.n	e4 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0xe4>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:184
            let tx = self.x;
  e4:	981d      	ldr	r0, [sp, #116]	; 0x74
  e6:	68c0      	ldr	r0, [r0, #12]
  e8:	9029      	str	r0, [sp, #164]	; 0xa4
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:185
            let ty = self.y;
  ea:	981d      	ldr	r0, [sp, #116]	; 0x74
  ec:	6900      	ldr	r0, [r0, #16]
  ee:	902a      	str	r0, [sp, #168]	; 0xa8
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:186
            let len = tx * tx + ty * ty;
  f0:	9829      	ldr	r0, [sp, #164]	; 0xa4
  f2:	fb00 f100 	mul.w	r1, r0, r0
  f6:	fb80 0200 	smull	r0, r2, r0, r0
  fa:	ebb2 7fe0 	cmp.w	r2, r0, asr #31
  fe:	9113      	str	r1, [sp, #76]	; 0x4c
 100:	f040 819a 	bne.w	438 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x438>
 104:	e7ff      	b.n	106 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x106>
 106:	982a      	ldr	r0, [sp, #168]	; 0xa8
 108:	fb00 f100 	mul.w	r1, r0, r0
 10c:	fb80 0200 	smull	r0, r2, r0, r0
 110:	ebb2 7fe0 	cmp.w	r2, r0, asr #31
 114:	9112      	str	r1, [sp, #72]	; 0x48
 116:	f040 819b 	bne.w	450 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x450>
 11a:	e7ff      	b.n	11c <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x11c>
 11c:	9813      	ldr	r0, [sp, #76]	; 0x4c
 11e:	9912      	ldr	r1, [sp, #72]	; 0x48
 120:	1842      	adds	r2, r0, r1
 122:	4613      	mov	r3, r2
 124:	4282      	cmp	r2, r0
 126:	9311      	str	r3, [sp, #68]	; 0x44
 128:	f180 819e 	bvs.w	468 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x468>
 12c:	e7ff      	b.n	12e <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x12e>
 12e:	9811      	ldr	r0, [sp, #68]	; 0x44
 130:	902b      	str	r0, [sp, #172]	; 0xac
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:188
            let is_border = len > radius_sq - radius && len < outer_radius_sq + radius;
 132:	992b      	ldr	r1, [sp, #172]	; 0xac
 134:	9a23      	ldr	r2, [sp, #140]	; 0x8c
 136:	9b21      	ldr	r3, [sp, #132]	; 0x84
 138:	eba2 0c03 	sub.w	ip, r2, r3
 13c:	429a      	cmp	r2, r3
 13e:	9110      	str	r1, [sp, #64]	; 0x40
 140:	f8cd c03c 	str.w	ip, [sp, #60]	; 0x3c
 144:	f180 819c 	bvs.w	480 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x480>
 148:	e021      	b.n	18e <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x18e>
 14a:	2001      	movs	r0, #1
 14c:	f88d 00b2 	strb.w	r0, [sp, #178]	; 0xb2
 150:	e00e      	b.n	170 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x170>
 152:	2000      	movs	r0, #0
 154:	f88d 00b2 	strb.w	r0, [sp, #178]	; 0xb2
 158:	e00a      	b.n	170 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x170>
 15a:	982b      	ldr	r0, [sp, #172]	; 0xac
 15c:	9924      	ldr	r1, [sp, #144]	; 0x90
 15e:	9a21      	ldr	r2, [sp, #132]	; 0x84
 160:	440a      	add	r2, r1
 162:	4613      	mov	r3, r2
 164:	428a      	cmp	r2, r1
 166:	900e      	str	r0, [sp, #56]	; 0x38
 168:	930d      	str	r3, [sp, #52]	; 0x34
 16a:	f180 8195 	bvs.w	498 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x498>
 16e:	e013      	b.n	198 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x198>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:191
            let is_fill = len <= outer_radius_sq;
 170:	982b      	ldr	r0, [sp, #172]	; 0xac
 172:	9924      	ldr	r1, [sp, #144]	; 0x90
 174:	2200      	movs	r2, #0
 176:	4288      	cmp	r0, r1
 178:	bfd8      	it	le
 17a:	2201      	movle	r2, #1
 17c:	f88d 20b3 	strb.w	r2, [sp, #179]	; 0xb3
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:193
            let item = if is_border && self.style.stroke_color.is_some() {
 180:	f89d 00b2 	ldrb.w	r0, [sp, #178]	; 0xb2
 184:	ea4f 70c0 	mov.w	r0, r0, lsl #31
 188:	2800      	cmp	r0, #0
 18a:	d112      	bne.n	1b2 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x1b2>
 18c:	e00d      	b.n	1aa <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x1aa>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:188
            let is_border = len > radius_sq - radius && len < outer_radius_sq + radius;
 18e:	9810      	ldr	r0, [sp, #64]	; 0x40
 190:	990f      	ldr	r1, [sp, #60]	; 0x3c
 192:	4288      	cmp	r0, r1
 194:	dce1      	bgt.n	15a <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x15a>
 196:	e7dc      	b.n	152 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x152>
 198:	980e      	ldr	r0, [sp, #56]	; 0x38
 19a:	990d      	ldr	r1, [sp, #52]	; 0x34
 19c:	4288      	cmp	r0, r1
 19e:	dbd4      	blt.n	14a <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x14a>
 1a0:	e7d7      	b.n	152 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x152>
 1a2:	2001      	movs	r0, #1
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:193
            let item = if is_border && self.style.stroke_color.is_some() {
 1a4:	f88d 00c7 	strb.w	r0, [sp, #199]	; 0xc7
 1a8:	e009      	b.n	1be <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x1be>
 1aa:	2000      	movs	r0, #0
 1ac:	f88d 00c7 	strb.w	r0, [sp, #199]	; 0xc7
 1b0:	e005      	b.n	1be <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x1be>
 1b2:	981d      	ldr	r0, [sp, #116]	; 0x74
 1b4:	3018      	adds	r0, #24
 1b6:	f7ff fffe 	bl	0 <core::option::Option<T>::is_some>
 1ba:	900c      	str	r0, [sp, #48]	; 0x30
 1bc:	e005      	b.n	1ca <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x1ca>
 1be:	f89d 00c7 	ldrb.w	r0, [sp, #199]	; 0xc7
 1c2:	07c0      	lsls	r0, r0, #31
 1c4:	2800      	cmp	r0, #0
 1c6:	d10b      	bne.n	1e0 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x1e0>
 1c8:	e004      	b.n	1d4 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x1d4>
 1ca:	980c      	ldr	r0, [sp, #48]	; 0x30
 1cc:	07c1      	lsls	r1, r0, #31
 1ce:	2900      	cmp	r1, #0
 1d0:	d1e7      	bne.n	1a2 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x1a2>
 1d2:	e7ea      	b.n	1aa <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x1aa>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:199
            } else if is_fill && self.style.fill_color.is_some() {
 1d4:	f89d 00b3 	ldrb.w	r0, [sp, #179]	; 0xb3
 1d8:	07c0      	lsls	r0, r0, #31
 1da:	2800      	cmp	r0, #0
 1dc:	d140      	bne.n	260 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x260>
 1de:	e03b      	b.n	258 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x258>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:195
                    cx + tx,
 1e0:	981f      	ldr	r0, [sp, #124]	; 0x7c
 1e2:	9929      	ldr	r1, [sp, #164]	; 0xa4
 1e4:	4401      	add	r1, r0
 1e6:	460a      	mov	r2, r1
 1e8:	4281      	cmp	r1, r0
 1ea:	920b      	str	r2, [sp, #44]	; 0x2c
 1ec:	f180 8160 	bvs.w	4b0 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x4b0>
 1f0:	e7ff      	b.n	1f2 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x1f2>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:196
                    cy + ty,
 1f2:	9820      	ldr	r0, [sp, #128]	; 0x80
 1f4:	992a      	ldr	r1, [sp, #168]	; 0xa8
 1f6:	4401      	add	r1, r0
 1f8:	460a      	mov	r2, r1
 1fa:	4281      	cmp	r1, r0
 1fc:	920a      	str	r2, [sp, #40]	; 0x28
 1fe:	f180 8163 	bvs.w	4c8 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x4c8>
 202:	e7ff      	b.n	204 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x204>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:197
                    self.style.stroke_color.expect("Border color not defined"),
 204:	981d      	ldr	r0, [sp, #116]	; 0x74
 206:	8b41      	ldrh	r1, [r0, #26]
 208:	8b00      	ldrh	r0, [r0, #24]
 20a:	f240 0200 	movw	r2, #0
 20e:	f2c0 0200 	movt	r2, #0
 212:	466b      	mov	r3, sp
 214:	601a      	str	r2, [r3, #0]
 216:	f240 0200 	movw	r2, #0
 21a:	f2c0 0200 	movt	r2, #0
 21e:	2318      	movs	r3, #24
 220:	f7ff fffe 	bl	0 <core::option::Option<T>::expect>
 224:	9009      	str	r0, [sp, #36]	; 0x24
 226:	e7ff      	b.n	228 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x228>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:194
                Some((
 228:	980b      	ldr	r0, [sp, #44]	; 0x2c
 22a:	9032      	str	r0, [sp, #200]	; 0xc8
 22c:	990a      	ldr	r1, [sp, #40]	; 0x28
 22e:	9133      	str	r1, [sp, #204]	; 0xcc
 230:	9a09      	ldr	r2, [sp, #36]	; 0x24
 232:	f8ad 20d0 	strh.w	r2, [sp, #208]	; 0xd0
 236:	9b32      	ldr	r3, [sp, #200]	; 0xc8
 238:	f8dd c0cc 	ldr.w	ip, [sp, #204]	; 0xcc
 23c:	f8dd e0d0 	ldr.w	lr, [sp, #208]	; 0xd0
 240:	f8cd e0c0 	str.w	lr, [sp, #192]	; 0xc0
 244:	f8cd c0bc 	str.w	ip, [sp, #188]	; 0xbc
 248:	932e      	str	r3, [sp, #184]	; 0xb8
 24a:	2301      	movs	r3, #1
 24c:	932d      	str	r3, [sp, #180]	; 0xb4
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:193
            let item = if is_border && self.style.stroke_color.is_some() {
 24e:	e054      	b.n	2fa <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x2fa>
 250:	2001      	movs	r0, #1
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:199
            } else if is_fill && self.style.fill_color.is_some() {
 252:	f88d 00d7 	strb.w	r0, [sp, #215]	; 0xd7
 256:	e009      	b.n	26c <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x26c>
 258:	2000      	movs	r0, #0
 25a:	f88d 00d7 	strb.w	r0, [sp, #215]	; 0xd7
 25e:	e005      	b.n	26c <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x26c>
 260:	981d      	ldr	r0, [sp, #116]	; 0x74
 262:	3014      	adds	r0, #20
 264:	f7ff fffe 	bl	0 <core::option::Option<T>::is_some>
 268:	9008      	str	r0, [sp, #32]
 26a:	e005      	b.n	278 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x278>
 26c:	f89d 00d7 	ldrb.w	r0, [sp, #215]	; 0xd7
 270:	07c0      	lsls	r0, r0, #31
 272:	2800      	cmp	r0, #0
 274:	d108      	bne.n	288 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x288>
 276:	e004      	b.n	282 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x282>
 278:	9808      	ldr	r0, [sp, #32]
 27a:	07c1      	lsls	r1, r0, #31
 27c:	2900      	cmp	r1, #0
 27e:	d1e7      	bne.n	250 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x250>
 280:	e7ea      	b.n	258 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x258>
 282:	2000      	movs	r0, #0
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:206
                None
 284:	902d      	str	r0, [sp, #180]	; 0xb4
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:199
            } else if is_fill && self.style.fill_color.is_some() {
 286:	e037      	b.n	2f8 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x2f8>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:201
                    cx + tx,
 288:	981f      	ldr	r0, [sp, #124]	; 0x7c
 28a:	9929      	ldr	r1, [sp, #164]	; 0xa4
 28c:	4401      	add	r1, r0
 28e:	460a      	mov	r2, r1
 290:	4281      	cmp	r1, r0
 292:	9207      	str	r2, [sp, #28]
 294:	f180 8124 	bvs.w	4e0 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x4e0>
 298:	e7ff      	b.n	29a <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x29a>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:202
                    cy + ty,
 29a:	9820      	ldr	r0, [sp, #128]	; 0x80
 29c:	992a      	ldr	r1, [sp, #168]	; 0xa8
 29e:	4401      	add	r1, r0
 2a0:	460a      	mov	r2, r1
 2a2:	4281      	cmp	r1, r0
 2a4:	9206      	str	r2, [sp, #24]
 2a6:	f180 8127 	bvs.w	4f8 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x4f8>
 2aa:	e7ff      	b.n	2ac <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x2ac>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:203
                    self.style.fill_color.expect("Fill color not defined"),
 2ac:	981d      	ldr	r0, [sp, #116]	; 0x74
 2ae:	8ac1      	ldrh	r1, [r0, #22]
 2b0:	8a80      	ldrh	r0, [r0, #20]
 2b2:	f240 0200 	movw	r2, #0
 2b6:	f2c0 0200 	movt	r2, #0
 2ba:	466b      	mov	r3, sp
 2bc:	601a      	str	r2, [r3, #0]
 2be:	f240 0200 	movw	r2, #0
 2c2:	f2c0 0200 	movt	r2, #0
 2c6:	2316      	movs	r3, #22
 2c8:	f7ff fffe 	bl	0 <core::option::Option<T>::expect>
 2cc:	9005      	str	r0, [sp, #20]
 2ce:	e7ff      	b.n	2d0 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x2d0>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:200
                Some((
 2d0:	9807      	ldr	r0, [sp, #28]
 2d2:	9036      	str	r0, [sp, #216]	; 0xd8
 2d4:	9906      	ldr	r1, [sp, #24]
 2d6:	9137      	str	r1, [sp, #220]	; 0xdc
 2d8:	9a05      	ldr	r2, [sp, #20]
 2da:	f8ad 20e0 	strh.w	r2, [sp, #224]	; 0xe0
 2de:	9b36      	ldr	r3, [sp, #216]	; 0xd8
 2e0:	f8dd c0dc 	ldr.w	ip, [sp, #220]	; 0xdc
 2e4:	f8dd e0e0 	ldr.w	lr, [sp, #224]	; 0xe0
 2e8:	f8cd e0c0 	str.w	lr, [sp, #192]	; 0xc0
 2ec:	f8cd c0bc 	str.w	ip, [sp, #188]	; 0xbc
 2f0:	932e      	str	r3, [sp, #184]	; 0xb8
 2f2:	2301      	movs	r3, #1
 2f4:	932d      	str	r3, [sp, #180]	; 0xb4
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:199
            } else if is_fill && self.style.fill_color.is_some() {
 2f6:	e7ff      	b.n	2f8 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x2f8>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:193
            let item = if is_border && self.style.stroke_color.is_some() {
 2f8:	e7ff      	b.n	2fa <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x2fa>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:209
            self.x += 1;
 2fa:	981d      	ldr	r0, [sp, #116]	; 0x74
 2fc:	68c0      	ldr	r0, [r0, #12]
 2fe:	1c41      	adds	r1, r0, #1
 300:	460a      	mov	r2, r1
 302:	4281      	cmp	r1, r0
 304:	9204      	str	r2, [sp, #16]
 306:	f180 8103 	bvs.w	510 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x510>
 30a:	e7ff      	b.n	30c <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x30c>
 30c:	981d      	ldr	r0, [sp, #116]	; 0x74
 30e:	9904      	ldr	r1, [sp, #16]
 310:	60c1      	str	r1, [r0, #12]
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:211
            if self.x > self.radius as i32 {
 312:	981d      	ldr	r0, [sp, #116]	; 0x74
 314:	6882      	ldr	r2, [r0, #8]
 316:	68c0      	ldr	r0, [r0, #12]
 318:	4290      	cmp	r0, r2
 31a:	dd19      	ble.n	350 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x350>
 31c:	e7ff      	b.n	31e <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x31e>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:212
                self.x = -(self.radius as i32);
 31e:	981d      	ldr	r0, [sp, #116]	; 0x74
 320:	6880      	ldr	r0, [r0, #8]
 322:	f1b0 4f00 	cmp.w	r0, #2147483648	; 0x80000000
 326:	9003      	str	r0, [sp, #12]
 328:	f000 80fe 	beq.w	528 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x528>
 32c:	e7ff      	b.n	32e <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x32e>
 32e:	981d      	ldr	r0, [sp, #116]	; 0x74
 330:	9903      	ldr	r1, [sp, #12]
 332:	424a      	negs	r2, r1
 334:	60c2      	str	r2, [r0, #12]
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:213
                self.y += 1;
 336:	981d      	ldr	r0, [sp, #116]	; 0x74
 338:	6900      	ldr	r0, [r0, #16]
 33a:	1c42      	adds	r2, r0, #1
 33c:	4613      	mov	r3, r2
 33e:	4282      	cmp	r2, r0
 340:	9302      	str	r3, [sp, #8]
 342:	f180 80fd 	bvs.w	540 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x540>
 346:	e7ff      	b.n	348 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x348>
 348:	981d      	ldr	r0, [sp, #116]	; 0x74
 34a:	9902      	ldr	r1, [sp, #8]
 34c:	6101      	str	r1, [r0, #16]
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:211
            if self.x > self.radius as i32 {
 34e:	e7ff      	b.n	350 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x350>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:216
            if self.y > self.radius as i32 {
 350:	981d      	ldr	r0, [sp, #116]	; 0x74
 352:	6881      	ldr	r1, [r0, #8]
 354:	6900      	ldr	r0, [r0, #16]
 356:	4288      	cmp	r0, r1
 358:	dc04      	bgt.n	364 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x364>
 35a:	e7ff      	b.n	35c <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x35c>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:220
            if let Some(i) = item {
 35c:	982d      	ldr	r0, [sp, #180]	; 0xb4
 35e:	2801      	cmp	r0, #1
 360:	d010      	beq.n	384 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x384>
 362:	e037      	b.n	3d4 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x3d4>
 364:	2000      	movs	r0, #0
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:217
                break None;
 366:	9025      	str	r0, [sp, #148]	; 0x94
 368:	e7ff      	b.n	36a <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x36a>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:227
        item.map(|(x, y, c)| Pixel(Coord::new(x, y).to_unsigned(), c))
 36a:	9825      	ldr	r0, [sp, #148]	; 0x94
 36c:	9926      	ldr	r1, [sp, #152]	; 0x98
 36e:	9a27      	ldr	r2, [sp, #156]	; 0x9c
 370:	9b28      	ldr	r3, [sp, #160]	; 0xa0
 372:	9340      	str	r3, [sp, #256]	; 0x100
 374:	923f      	str	r2, [sp, #252]	; 0xfc
 376:	913e      	str	r1, [sp, #248]	; 0xf8
 378:	903d      	str	r0, [sp, #244]	; 0xf4
 37a:	a93d      	add	r1, sp, #244	; 0xf4
 37c:	981c      	ldr	r0, [sp, #112]	; 0x70
 37e:	f7ff fffe 	bl	0 <core::option::Option<T>::map>
 382:	e028      	b.n	3d6 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x3d6>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:220
            if let Some(i) = item {
 384:	982e      	ldr	r0, [sp, #184]	; 0xb8
 386:	992f      	ldr	r1, [sp, #188]	; 0xbc
 388:	9a30      	ldr	r2, [sp, #192]	; 0xc0
 38a:	923b      	str	r2, [sp, #236]	; 0xec
 38c:	913a      	str	r1, [sp, #232]	; 0xe8
 38e:	9039      	str	r0, [sp, #228]	; 0xe4
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:221
                if i.0 >= 0 && i.1 >= 0 {
 390:	9839      	ldr	r0, [sp, #228]	; 0xe4
 392:	f1b0 3fff 	cmp.w	r0, #4294967295
 396:	dc08      	bgt.n	3aa <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x3aa>
 398:	e003      	b.n	3a2 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x3a2>
 39a:	2001      	movs	r0, #1
 39c:	f88d 00f3 	strb.w	r0, [sp, #243]	; 0xf3
 3a0:	e008      	b.n	3b4 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x3b4>
 3a2:	2000      	movs	r0, #0
 3a4:	f88d 00f3 	strb.w	r0, [sp, #243]	; 0xf3
 3a8:	e004      	b.n	3b4 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x3b4>
 3aa:	983a      	ldr	r0, [sp, #232]	; 0xe8
 3ac:	f1b0 3fff 	cmp.w	r0, #4294967295
 3b0:	dcf3      	bgt.n	39a <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x39a>
 3b2:	e7f6      	b.n	3a2 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x3a2>
 3b4:	f89d 00f3 	ldrb.w	r0, [sp, #243]	; 0xf3
 3b8:	07c0      	lsls	r0, r0, #31
 3ba:	2800      	cmp	r0, #0
 3bc:	d101      	bne.n	3c2 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x3c2>
 3be:	e7ff      	b.n	3c0 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x3c0>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:220
            if let Some(i) = item {
 3c0:	e008      	b.n	3d4 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x3d4>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:222
                    break item;
 3c2:	982d      	ldr	r0, [sp, #180]	; 0xb4
 3c4:	992e      	ldr	r1, [sp, #184]	; 0xb8
 3c6:	9a2f      	ldr	r2, [sp, #188]	; 0xbc
 3c8:	9b30      	ldr	r3, [sp, #192]	; 0xc0
 3ca:	9328      	str	r3, [sp, #160]	; 0xa0
 3cc:	9227      	str	r2, [sp, #156]	; 0x9c
 3ce:	9126      	str	r1, [sp, #152]	; 0x98
 3d0:	9025      	str	r0, [sp, #148]	; 0x94
 3d2:	e7ca      	b.n	36a <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x36a>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:183
        let item = loop {
 3d4:	e686      	b.n	e4 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0xe4>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:228
    }
 3d6:	e646      	b.n	66 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next+0x66>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:177
        let radius = self.radius as i32 - self.style.stroke_width as i32 + 1;
 3d8:	f240 0000 	movw	r0, #0
 3dc:	f2c0 0000 	movt	r0, #0
 3e0:	f240 0200 	movw	r2, #0
 3e4:	f2c0 0200 	movt	r2, #0
 3e8:	2121      	movs	r1, #33	; 0x21
 3ea:	f7ff fffe 	bl	0 <core::panicking::panic>
 3ee:	defe      	udf	#254	; 0xfe
 3f0:	f240 0000 	movw	r0, #0
 3f4:	f2c0 0000 	movt	r0, #0
 3f8:	f240 0200 	movw	r2, #0
 3fc:	f2c0 0200 	movt	r2, #0
 400:	211c      	movs	r1, #28
 402:	f7ff fffe 	bl	0 <core::panicking::panic>
 406:	defe      	udf	#254	; 0xfe
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:180
        let radius_sq = radius * radius;
 408:	f240 0000 	movw	r0, #0
 40c:	f2c0 0000 	movt	r0, #0
 410:	f240 0200 	movw	r2, #0
 414:	f2c0 0200 	movt	r2, #0
 418:	2121      	movs	r1, #33	; 0x21
 41a:	f7ff fffe 	bl	0 <core::panicking::panic>
 41e:	defe      	udf	#254	; 0xfe
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:181
        let outer_radius_sq = outer_radius * outer_radius;
 420:	f240 0000 	movw	r0, #0
 424:	f2c0 0000 	movt	r0, #0
 428:	f240 0200 	movw	r2, #0
 42c:	f2c0 0200 	movt	r2, #0
 430:	2121      	movs	r1, #33	; 0x21
 432:	f7ff fffe 	bl	0 <core::panicking::panic>
 436:	defe      	udf	#254	; 0xfe
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:186
            let len = tx * tx + ty * ty;
 438:	f240 0000 	movw	r0, #0
 43c:	f2c0 0000 	movt	r0, #0
 440:	f240 0200 	movw	r2, #0
 444:	f2c0 0200 	movt	r2, #0
 448:	2121      	movs	r1, #33	; 0x21
 44a:	f7ff fffe 	bl	0 <core::panicking::panic>
 44e:	defe      	udf	#254	; 0xfe
 450:	f240 0000 	movw	r0, #0
 454:	f2c0 0000 	movt	r0, #0
 458:	f240 0200 	movw	r2, #0
 45c:	f2c0 0200 	movt	r2, #0
 460:	2121      	movs	r1, #33	; 0x21
 462:	f7ff fffe 	bl	0 <core::panicking::panic>
 466:	defe      	udf	#254	; 0xfe
 468:	f240 0000 	movw	r0, #0
 46c:	f2c0 0000 	movt	r0, #0
 470:	f240 0200 	movw	r2, #0
 474:	f2c0 0200 	movt	r2, #0
 478:	211c      	movs	r1, #28
 47a:	f7ff fffe 	bl	0 <core::panicking::panic>
 47e:	defe      	udf	#254	; 0xfe
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:188
            let is_border = len > radius_sq - radius && len < outer_radius_sq + radius;
 480:	f240 0000 	movw	r0, #0
 484:	f2c0 0000 	movt	r0, #0
 488:	f240 0200 	movw	r2, #0
 48c:	f2c0 0200 	movt	r2, #0
 490:	2121      	movs	r1, #33	; 0x21
 492:	f7ff fffe 	bl	0 <core::panicking::panic>
 496:	defe      	udf	#254	; 0xfe
 498:	f240 0000 	movw	r0, #0
 49c:	f2c0 0000 	movt	r0, #0
 4a0:	f240 0200 	movw	r2, #0
 4a4:	f2c0 0200 	movt	r2, #0
 4a8:	211c      	movs	r1, #28
 4aa:	f7ff fffe 	bl	0 <core::panicking::panic>
 4ae:	defe      	udf	#254	; 0xfe
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:195
                    cx + tx,
 4b0:	f240 0000 	movw	r0, #0
 4b4:	f2c0 0000 	movt	r0, #0
 4b8:	f240 0200 	movw	r2, #0
 4bc:	f2c0 0200 	movt	r2, #0
 4c0:	211c      	movs	r1, #28
 4c2:	f7ff fffe 	bl	0 <core::panicking::panic>
 4c6:	defe      	udf	#254	; 0xfe
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:196
                    cy + ty,
 4c8:	f240 0000 	movw	r0, #0
 4cc:	f2c0 0000 	movt	r0, #0
 4d0:	f240 0200 	movw	r2, #0
 4d4:	f2c0 0200 	movt	r2, #0
 4d8:	211c      	movs	r1, #28
 4da:	f7ff fffe 	bl	0 <core::panicking::panic>
 4de:	defe      	udf	#254	; 0xfe
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:201
                    cx + tx,
 4e0:	f240 0000 	movw	r0, #0
 4e4:	f2c0 0000 	movt	r0, #0
 4e8:	f240 0200 	movw	r2, #0
 4ec:	f2c0 0200 	movt	r2, #0
 4f0:	211c      	movs	r1, #28
 4f2:	f7ff fffe 	bl	0 <core::panicking::panic>
 4f6:	defe      	udf	#254	; 0xfe
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:202
                    cy + ty,
 4f8:	f240 0000 	movw	r0, #0
 4fc:	f2c0 0000 	movt	r0, #0
 500:	f240 0200 	movw	r2, #0
 504:	f2c0 0200 	movt	r2, #0
 508:	211c      	movs	r1, #28
 50a:	f7ff fffe 	bl	0 <core::panicking::panic>
 50e:	defe      	udf	#254	; 0xfe
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:209
            self.x += 1;
 510:	f240 0000 	movw	r0, #0
 514:	f2c0 0000 	movt	r0, #0
 518:	f240 0200 	movw	r2, #0
 51c:	f2c0 0200 	movt	r2, #0
 520:	211c      	movs	r1, #28
 522:	f7ff fffe 	bl	0 <core::panicking::panic>
 526:	defe      	udf	#254	; 0xfe
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:212
                self.x = -(self.radius as i32);
 528:	f240 0000 	movw	r0, #0
 52c:	f2c0 0000 	movt	r0, #0
 530:	f240 0200 	movw	r2, #0
 534:	f2c0 0200 	movt	r2, #0
 538:	211f      	movs	r1, #31
 53a:	f7ff fffe 	bl	0 <core::panicking::panic>
 53e:	defe      	udf	#254	; 0xfe
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:213
                self.y += 1;
 540:	f240 0000 	movw	r0, #0
 544:	f2c0 0000 	movt	r0, #0
 548:	f240 0200 	movw	r2, #0
 54c:	f2c0 0200 	movt	r2, #0
 550:	211c      	movs	r1, #28
 552:	f7ff fffe 	bl	0 <core::panicking::panic>
 556:	defe      	udf	#254	; 0xfe

Disassembly of section .text._ZN121_$LT$embedded_graphics..primitives..circle..CircleIterator$LT$C$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17hbbf07162f4fee5c8E:

00000000 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next::{{closure}}>:
_ZN121_$LT$embedded_graphics..primitives..circle..CircleIterator$LT$C$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next28_$u7b$$u7b$closure$u7d$$u7d$17hbbf07162f4fee5c8E():
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:227
        item.map(|(x, y, c)| Pixel(Coord::new(x, y).to_unsigned(), c))
   0:	b580      	push	{r7, lr}
   2:	b08a      	sub	sp, #40	; 0x28
   4:	680a      	ldr	r2, [r1, #0]
   6:	9207      	str	r2, [sp, #28]
   8:	684a      	ldr	r2, [r1, #4]
   a:	9208      	str	r2, [sp, #32]
   c:	8909      	ldrh	r1, [r1, #8]
   e:	f8ad 1026 	strh.w	r1, [sp, #38]	; 0x26
  12:	9907      	ldr	r1, [sp, #28]
  14:	9a08      	ldr	r2, [sp, #32]
  16:	9005      	str	r0, [sp, #20]
  18:	4608      	mov	r0, r1
  1a:	4611      	mov	r1, r2
  1c:	f7ff fffe 	bl	0 <embedded_graphics::coord::internal_coord::Coord::new>
  20:	9004      	str	r0, [sp, #16]
  22:	9103      	str	r1, [sp, #12]
  24:	e7ff      	b.n	26 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next::{{closure}}+0x26>
  26:	9804      	ldr	r0, [sp, #16]
  28:	9903      	ldr	r1, [sp, #12]
  2a:	f7ff fffe 	bl	0 <<embedded_graphics::coord::internal_coord::Coord as embedded_graphics::coord::ToUnsigned>::to_unsigned>
  2e:	9002      	str	r0, [sp, #8]
  30:	9101      	str	r1, [sp, #4]
  32:	e7ff      	b.n	34 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next::{{closure}}+0x34>
  34:	f8bd 0026 	ldrh.w	r0, [sp, #38]	; 0x26
  38:	9902      	ldr	r1, [sp, #8]
  3a:	9a05      	ldr	r2, [sp, #20]
  3c:	6011      	str	r1, [r2, #0]
  3e:	9b01      	ldr	r3, [sp, #4]
  40:	6053      	str	r3, [r2, #4]
  42:	8110      	strh	r0, [r2, #8]
  44:	b00a      	add	sp, #40	; 0x28
  46:	bd80      	pop	{r7, pc}

Disassembly of section .text._ZN17embedded_graphics10primitives6circle15Circle$LT$C$GT$3new17hdc833c988aba08d1E:

00000000 <embedded_graphics::primitives::circle::Circle<C>::new>:
_ZN17embedded_graphics10primitives6circle15Circle$LT$C$GT$3new17hdc833c988aba08d1E():
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:62
    pub fn new(center: Coord, radius: u32) -> Self {
   0:	b580      	push	{r7, lr}
   2:	b08a      	sub	sp, #40	; 0x28
   4:	9104      	str	r1, [sp, #16]
   6:	9205      	str	r2, [sp, #20]
   8:	9306      	str	r3, [sp, #24]
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:64
            center,
   a:	9904      	ldr	r1, [sp, #16]
   c:	9a05      	ldr	r2, [sp, #20]
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:65
            radius,
   e:	9b06      	ldr	r3, [sp, #24]
  10:	f10d 0c1c 	add.w	ip, sp, #28
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:66
            style: Style::default(),
  14:	9003      	str	r0, [sp, #12]
  16:	4660      	mov	r0, ip
  18:	9102      	str	r1, [sp, #8]
  1a:	9201      	str	r2, [sp, #4]
  1c:	9300      	str	r3, [sp, #0]
  1e:	f7ff fffe 	bl	0 <<embedded_graphics::style::Style<P> as core::default::Default>::default>
  22:	e7ff      	b.n	24 <embedded_graphics::primitives::circle::Circle<C>::new+0x24>
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:63
        Circle {
  24:	9802      	ldr	r0, [sp, #8]
  26:	9903      	ldr	r1, [sp, #12]
  28:	6008      	str	r0, [r1, #0]
  2a:	9a01      	ldr	r2, [sp, #4]
  2c:	604a      	str	r2, [r1, #4]
  2e:	9b00      	ldr	r3, [sp, #0]
  30:	608b      	str	r3, [r1, #8]
  32:	f8bd c024 	ldrh.w	ip, [sp, #36]	; 0x24
  36:	f8a1 c014 	strh.w	ip, [r1, #20]
  3a:	f8dd c01c 	ldr.w	ip, [sp, #28]
  3e:	f8dd e020 	ldr.w	lr, [sp, #32]
  42:	f8c1 e010 	str.w	lr, [r1, #16]
  46:	f8c1 c00c 	str.w	ip, [r1, #12]
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\embedded-graphics-0.5.2\src\primitives/circle.rs:68
    }
  4a:	b00a      	add	sp, #40	; 0x28
  4c:	bd80      	pop	{r7, pc}

app-2c84bd17359ee43e.1ky2n1yae87xdixz.rcgu.o:     file format elf32-littlearm

SYMBOL TABLE:
00000000 l    df *ABS*	00000000 1ky2n1yae87xdixz
000000a9 l       .debug_str	00000000 
000000d8 l       .debug_str	00000000 
000000e5 l       .debug_str	00000000 
00000000 l       .debug_str	00000000 
00000041 l       .debug_str	00000000 
00000055 l       .debug_str	00000000 
00000076 l       .debug_str	00000000 
0000007a l       .debug_str	00000000 
00000085 l       .debug_str	00000000 
00000093 l       .debug_str	00000000 
0000009a l       .debug_str	00000000 
0000009e l       .debug_str	00000000 
000000a1 l       .debug_str	00000000 
000000d3 l       .debug_str	00000000 
000000ad l       .debug_str	00000000 
000000b6 l       .debug_str	00000000 
000000c0 l       .debug_str	00000000 
000000c7 l       .debug_str	00000000 
000000cd l       .debug_str	00000000 
000000e0 l       .debug_str	00000000 
00000000 l     O .rodata._ZN3app10app_sensor13SENSOR_DEVICE17hf89be860750e7451E	0000000c app::app_sensor::SENSOR_DEVICE
00000000 l    d  .rodata..Lanon.d41d8cd98f00b204e9800998ecf8427e.0	00000000 .rodata..Lanon.d41d8cd98f00b204e9800998ecf8427e.0
00000000 l    d  .rodata._ZN3app10app_sensor13SENSOR_DEVICE17hf89be860750e7451E	00000000 .rodata._ZN3app10app_sensor13SENSOR_DEVICE17hf89be860750e7451E
00000000 l    d  .debug_abbrev	00000000 .debug_abbrev
00000000 l    d  .debug_info	00000000 .debug_info
00000000 l    d  .debug_line	00000000 .debug_line



app-2c84bd17359ee43e.1s7rm9crhe3prmrp.rcgu.o:     file format elf32-littlearm

SYMBOL TABLE:
00000000 l    df *ABS*	00000000 1s7rm9crhe3prmrp
00000138 l       .debug_str	00000000 
000003cf l       .debug_str	00000000 
000003cb l       .debug_str	00000000 
000003c4 l       .debug_str	00000000 
000004bc l       .debug_str	00000000 
000003bd l       .debug_str	00000000 
0000044e l       .debug_str	00000000 
00000000 l       .debug_str	00000000 
00000041 l       .debug_str	00000000 
00000055 l       .debug_str	00000000 
00000076 l       .debug_str	00000000 
0000008d l       .debug_str	00000000 
00000095 l       .debug_str	00000000 
000000a7 l       .debug_str	00000000 
000000ad l       .debug_str	00000000 
000000ba l       .debug_str	00000000 
000000be l       .debug_str	00000000 
000000c4 l       .debug_str	00000000 
000000d3 l       .debug_str	00000000 
000000d7 l       .debug_str	00000000 
000000db l       .debug_str	00000000 
000000df l       .debug_str	00000000 
000000e5 l       .debug_str	00000000 
000000ea l       .debug_str	00000000 
000000f3 l       .debug_str	00000000 
000000f6 l       .debug_str	00000000 
00000100 l       .debug_str	00000000 
00000107 l       .debug_str	00000000 
0000010d l       .debug_str	00000000 
00000112 l       .debug_str	00000000 
00000118 l       .debug_str	00000000 
00000123 l       .debug_str	00000000 
00000128 l       .debug_str	00000000 
0000012f l       .debug_str	00000000 
00000133 l       .debug_str	00000000 
000003b6 l       .debug_str	00000000 
00000143 l       .debug_str	00000000 
0000014a l       .debug_str	00000000 
00000151 l       .debug_str	00000000 
00000153 l       .debug_str	00000000 
00000158 l       .debug_str	00000000 
0000018e l       .debug_str	00000000 
0000019b l       .debug_str	00000000 
000001a8 l       .debug_str	00000000 
000001aa l       .debug_str	00000000 
000001df l       .debug_str	00000000 
000001e5 l       .debug_str	00000000 
000001ec l       .debug_str	00000000 
000001f6 l       .debug_str	00000000 
00000204 l       .debug_str	00000000 
00000244 l       .debug_str	00000000 
00000246 l       .debug_str	00000000 
0000024b l       .debug_str	00000000 
000002ba l       .debug_str	00000000 
00000303 l       .debug_str	00000000 
000003ab l       .debug_str	00000000 
00000405 l       .debug_str	00000000 
00000000 l     O .rodata.cst16	00000010 .Lanon.381a03a370803807a9ffc8d7fb541271.0
00000000 l     O .rodata..Lanon.381a03a370803807a9ffc8d7fb541271.2	00000010 .Lanon.381a03a370803807a9ffc8d7fb541271.2
00000000 l    d  .text._ZN22piet_embedded_graphics7display15draw_to_display17h903d1dd3bc04ee97E	00000000 .text._ZN22piet_embedded_graphics7display15draw_to_display17h903d1dd3bc04ee97E
00000000 l    d  .text._ZN22piet_embedded_graphics7display15draw_to_display17hbb30e3e769a95583E	00000000 .text._ZN22piet_embedded_graphics7display15draw_to_display17hbb30e3e769a95583E
00000000 l    d  .rodata..Lanon.381a03a370803807a9ffc8d7fb541271.1	00000000 .rodata..Lanon.381a03a370803807a9ffc8d7fb541271.1
00000000 l    d  .debug_loc	00000000 .debug_loc
00000000 l    d  .debug_abbrev	00000000 .debug_abbrev
00000000 l    d  .debug_info	00000000 .debug_info
00000000 l    d  .debug_ranges	00000000 .debug_ranges
00000000 l    d  .debug_frame	00000000 .debug_frame
00000000 l    d  .debug_line	00000000 .debug_line
00000000         *UND*	00000000 piet_embedded_graphics::batch::draw_blocks
00000000         *UND*	00000000 piet_embedded_graphics::batch::draw_blocks
00000000 g     F .text._ZN22piet_embedded_graphics7display15draw_to_display17h903d1dd3bc04ee97E	0000004a piet_embedded_graphics::display::draw_to_display
00000000 g     F .text._ZN22piet_embedded_graphics7display15draw_to_display17hbb30e3e769a95583E	00000042 piet_embedded_graphics::display::draw_to_display
00000000         *UND*	00000000 piet_embedded_graphics::display::DISPLAY
00000000         *UND*	00000000 core::result::Result<T,E>::expect



Disassembly of section .text._ZN22piet_embedded_graphics7display15draw_to_display17h903d1dd3bc04ee97E:

00000000 <piet_embedded_graphics::display::draw_to_display>:
_ZN22piet_embedded_graphics7display15draw_to_display17h903d1dd3bc04ee97E():
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/display.rs:122
    }
    Ok(())
}

/// Draw the item to the display
pub fn draw_to_display<T>(item: T)
   0:	b510      	push	{r4, lr}
   2:	b088      	sub	sp, #32
   4:	a901      	add	r1, sp, #4
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/display.rs:130
    unsafe { DISPLAY.draw(item) };        //  Draw text or graphics the usual slow way

    #[cfg(feature = "noblock_spi")]       //  If batching is enabled...
    super::batch::draw_blocks(            //  Draw text or graphics the new faster way, as pixel blocks
        unsafe { &mut DISPLAY },
        item
   6:	460a      	mov	r2, r1
   8:	e8b0 5008 	ldmia.w	r0!, {r3, ip, lr}
   c:	e8a2 5008 	stmia.w	r2!, {r3, ip, lr}
  10:	e890 5018 	ldmia.w	r0, {r3, r4, ip, lr}
  14:	e882 5018 	stmia.w	r2, {r3, r4, ip, lr}
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/display.rs:128
    super::batch::draw_blocks(            //  Draw text or graphics the new faster way, as pixel blocks
  18:	f240 0000 	movw	r0, #0
  1c:	f2c0 0000 	movt	r0, #0
  20:	f7ff fffe 	bl	0 <piet_embedded_graphics::batch::draw_blocks>
  24:	9000      	str	r0, [sp, #0]
  26:	e7ff      	b.n	28 <piet_embedded_graphics::display::draw_to_display+0x28>
  28:	9800      	ldr	r0, [sp, #0]
  2a:	f000 0001 	and.w	r0, r0, #1
  2e:	f240 0100 	movw	r1, #0
  32:	f2c0 0100 	movt	r1, #0
  36:	f240 0300 	movw	r3, #0
  3a:	f2c0 0300 	movt	r3, #0
  3e:	2210      	movs	r2, #16
  40:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
  44:	e7ff      	b.n	46 <piet_embedded_graphics::display::draw_to_display+0x46>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/display.rs:132
    ).expect("draw blocks fail");
}
  46:	b008      	add	sp, #32
  48:	bd10      	pop	{r4, pc}

Disassembly of section .text._ZN22piet_embedded_graphics7display15draw_to_display17hbb30e3e769a95583E:

00000000 <piet_embedded_graphics::display::draw_to_display>:
_ZN22piet_embedded_graphics7display15draw_to_display17hbb30e3e769a95583E():
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/display.rs:122
pub fn draw_to_display<T>(item: T)
   0:	b570      	push	{r4, r5, r6, lr}
   2:	b088      	sub	sp, #32
   4:	a902      	add	r1, sp, #8
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/display.rs:130
        item
   6:	460a      	mov	r2, r1
   8:	e890 5078 	ldmia.w	r0, {r3, r4, r5, r6, ip, lr}
   c:	e882 5078 	stmia.w	r2, {r3, r4, r5, r6, ip, lr}
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/display.rs:128
    super::batch::draw_blocks(            //  Draw text or graphics the new faster way, as pixel blocks
  10:	f240 0000 	movw	r0, #0
  14:	f2c0 0000 	movt	r0, #0
  18:	f7ff fffe 	bl	0 <piet_embedded_graphics::batch::draw_blocks>
  1c:	9001      	str	r0, [sp, #4]
  1e:	e7ff      	b.n	20 <piet_embedded_graphics::display::draw_to_display+0x20>
  20:	9801      	ldr	r0, [sp, #4]
  22:	f000 0001 	and.w	r0, r0, #1
  26:	f240 0100 	movw	r1, #0
  2a:	f2c0 0100 	movt	r1, #0
  2e:	f240 0300 	movw	r3, #0
  32:	f2c0 0300 	movt	r3, #0
  36:	2210      	movs	r2, #16
  38:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
  3c:	e7ff      	b.n	3e <piet_embedded_graphics::display::draw_to_display+0x3e>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/display.rs:132
}
  3e:	b008      	add	sp, #32
  40:	bd70      	pop	{r4, r5, r6, pc}

app-2c84bd17359ee43e.2j1ba2thuuo0vuxg.rcgu.o:     file format elf32-littlearm

SYMBOL TABLE:
00000000 l    df *ABS*	00000000 2j1ba2thuuo0vuxg
000001b4 l       .debug_str	00000000 
0000048d l       .debug_str	00000000 
00000488 l       .debug_str	00000000 
000004bb l       .debug_str	00000000 
00000483 l       .debug_str	00000000 
0000047a l       .debug_str	00000000 
0000045c l       .debug_str	00000000 
00000446 l       .debug_str	00000000 
0000043c l       .debug_str	00000000 
00000423 l       .debug_str	00000000 
00000406 l       .debug_str	00000000 
000003fb l       .debug_str	00000000 
0000039d l       .debug_str	00000000 
00000383 l       .debug_str	00000000 
00000379 l       .debug_str	00000000 
0000036e l       .debug_str	00000000 
0000036a l       .debug_str	00000000 
0000035c l       .debug_str	00000000 
00000352 l       .debug_str	00000000 
000004b1 l       .debug_str	00000000 
00000341 l       .debug_str	00000000 
0000033c l       .debug_str	00000000 
00000323 l       .debug_str	00000000 
00000317 l       .debug_str	00000000 
0000030e l       .debug_str	00000000 
0000030a l       .debug_str	00000000 
00000303 l       .debug_str	00000000 
0000049a l       .debug_str	00000000 
00000000 l       .debug_str	00000000 
00000041 l       .debug_str	00000000 
00000055 l       .debug_str	00000000 
00000076 l       .debug_str	00000000 
0000007b l       .debug_str	00000000 
0000007f l       .debug_str	00000000 
00000082 l       .debug_str	00000000 
00000085 l       .debug_str	00000000 
00000088 l       .debug_str	00000000 
0000008d l       .debug_str	00000000 
00000093 l       .debug_str	00000000 
0000009a l       .debug_str	00000000 
000000a2 l       .debug_str	00000000 
000000ac l       .debug_str	00000000 
000000b3 l       .debug_str	00000000 
000000b6 l       .debug_str	00000000 
000000ba l       .debug_str	00000000 
000000c1 l       .debug_str	00000000 
000000c5 l       .debug_str	00000000 
000000ce l       .debug_str	00000000 
000000d2 l       .debug_str	00000000 
000000fc l       .debug_str	00000000 
00000101 l       .debug_str	00000000 
0000012b l       .debug_str	00000000 
00000138 l       .debug_str	00000000 
0000013d l       .debug_str	00000000 
0000014f l       .debug_str	00000000 
00000155 l       .debug_str	00000000 
00000158 l       .debug_str	00000000 
0000015c l       .debug_str	00000000 
0000015f l       .debug_str	00000000 
00000162 l       .debug_str	00000000 
00000166 l       .debug_str	00000000 
0000016b l       .debug_str	00000000 
00000173 l       .debug_str	00000000 
00000177 l       .debug_str	00000000 
0000017f l       .debug_str	00000000 
00000187 l       .debug_str	00000000 
0000018e l       .debug_str	00000000 
00000194 l       .debug_str	00000000 
000001a8 l       .debug_str	00000000 
000002f4 l       .debug_str	00000000 
000001b9 l       .debug_str	00000000 
000001c1 l       .debug_str	00000000 
000001c8 l       .debug_str	00000000 
000001cc l       .debug_str	00000000 
000001d1 l       .debug_str	00000000 
000001d8 l       .debug_str	00000000 
000001e1 l       .debug_str	00000000 
000001eb l       .debug_str	00000000 
000001f2 l       .debug_str	00000000 
000001f7 l       .debug_str	00000000 
00000203 l       .debug_str	00000000 
0000020b l       .debug_str	00000000 
00000214 l       .debug_str	00000000 
0000021b l       .debug_str	00000000 
00000220 l       .debug_str	00000000 
00000225 l       .debug_str	00000000 
0000022b l       .debug_str	00000000 
00000231 l       .debug_str	00000000 
0000023b l       .debug_str	00000000 
0000023e l       .debug_str	00000000 
00000242 l       .debug_str	00000000 
00000248 l       .debug_str	00000000 
00000250 l       .debug_str	00000000 
00000256 l       .debug_str	00000000 
0000025c l       .debug_str	00000000 
00000267 l       .debug_str	00000000 
00000270 l       .debug_str	00000000 
00000293 l       .debug_str	00000000 
000002b2 l       .debug_str	00000000 
000002b4 l       .debug_str	00000000 
000002b9 l       .debug_str	00000000 
000002e0 l       .debug_str	00000000 
000002e5 l       .debug_str	00000000 
000002eb l       .debug_str	00000000 
000002f1 l       .debug_str	00000000 
00000491 l       .debug_str	00000000 
00000000 l     O .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.0	00000012 .Lanon.20dbb438014a7c698031c58c53dad8e4.0
00000000 l     O .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.1	0000000a .Lanon.20dbb438014a7c698031c58c53dad8e4.1
00000010 l     O .rodata.cst8	00000008 .Lanon.20dbb438014a7c698031c58c53dad8e4.10
00000000 l     O .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.11	00000010 .Lanon.20dbb438014a7c698031c58c53dad8e4.11
00000018 l     O .rodata.cst8	00000008 .Lanon.20dbb438014a7c698031c58c53dad8e4.12
00000000 l     O .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.13	00000010 .Lanon.20dbb438014a7c698031c58c53dad8e4.13
00000020 l     O .rodata.cst8	00000008 .Lanon.20dbb438014a7c698031c58c53dad8e4.14
00000000 l     O .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.15	00000010 .Lanon.20dbb438014a7c698031c58c53dad8e4.15
00000000 l     O .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.16	00000006 .Lanon.20dbb438014a7c698031c58c53dad8e4.16
00000000 l     O .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.17	00000007 .Lanon.20dbb438014a7c698031c58c53dad8e4.17
00000000 l     O .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.18	00000003 .Lanon.20dbb438014a7c698031c58c53dad8e4.18
00000000 l     O .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.19	00000006 .Lanon.20dbb438014a7c698031c58c53dad8e4.19
00000000 l     O .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.20	00000001 .Lanon.20dbb438014a7c698031c58c53dad8e4.20
00000000 l     O .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.21	00000010 .Lanon.20dbb438014a7c698031c58c53dad8e4.21
00000000 l     O .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.3	00000010 .Lanon.20dbb438014a7c698031c58c53dad8e4.3
00000000 l     O .rodata.cst8	00000008 .Lanon.20dbb438014a7c698031c58c53dad8e4.4
00000000 l     O .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.5	00000010 .Lanon.20dbb438014a7c698031c58c53dad8e4.5
00000008 l     O .rodata.cst8	00000008 .Lanon.20dbb438014a7c698031c58c53dad8e4.6
00000000 l     O .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.7	00000010 .Lanon.20dbb438014a7c698031c58c53dad8e4.7
00000000 l     O .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.8	0000000d .Lanon.20dbb438014a7c698031c58c53dad8e4.8
00000000 l     O .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.9	00000010 .Lanon.20dbb438014a7c698031c58c53dad8e4.9
00000000 l    d  .text._ZN3app12handle_touch17hea6f2025bf0a039eE	00000000 .text._ZN3app12handle_touch17hea6f2025bf0a039eE
00000000 l    d  .text.main	00000000 .text.main
00000000 l    d  .text.rust_begin_unwind	00000000 .text.rust_begin_unwind
00000000 l    d  .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.2	00000000 .rodata..Lanon.20dbb438014a7c698031c58c53dad8e4.2
00000000 l    d  .debug_abbrev	00000000 .debug_abbrev
00000000 l    d  .debug_info	00000000 .debug_info
00000000 l    d  .debug_ranges	00000000 .debug_ranges
00000000 l    d  .debug_frame	00000000 .debug_frame
00000000 l    d  .debug_line	00000000 .debug_line
00000000         *UND*	00000000 piet_embedded_graphics::display::start_display
00000000 g     F .text._ZN3app12handle_touch17hea6f2025bf0a039eE	0000002e app::handle_touch
00000000         *UND*	00000000 .hidden app::touch_sensor::start_touch_sensor
00000000         *UND*	00000000 .hidden app::display::test_display
00000000         *UND*	00000000 core::panic::Location::file
00000000         *UND*	00000000 core::panic::Location::line
00000000         *UND*	00000000 core::panic::PanicInfo::payload
00000000         *UND*	00000000 core::panic::PanicInfo::location
00000000         *UND*	00000000 core::option::Option<T>::unwrap
00000000         *UND*	00000000 core::result::Result<T,E>::expect
00000000         *UND*	00000000 core::result::Result<T,E>::expect
00000000         *UND*	00000000 core::panicking::panic
00000000         *UND*	00000000 <dyn core::any::Any+core::marker::Send>::downcast_ref
00000000         *UND*	00000000 mynewt::sys::console::flush
00000000         *UND*	00000000 mynewt::sys::console::print
00000000         *UND*	00000000 mynewt::sys::console::buffer
00000000         *UND*	00000000 mynewt::sys::console::printint
00000000         *UND*	00000000 mynewt::kernel::os::eventq_run
00000000         *UND*	00000000 mynewt::kernel::os::eventq_dflt_get
00000000         *UND*	00000000 mynewt::sysinit
00000000 g     F .text.main	0000010a main
00000000 g     F .text.rust_begin_unwind	000000f8 rust_begin_unwind
00000000         *UND*	00000000 start_ble
00000000         *UND*	00000000 test_flash



Disassembly of section .text._ZN3app12handle_touch17hea6f2025bf0a039eE:

00000000 <app::handle_touch>:
_ZN3app12handle_touch17hea6f2025bf0a039eE():
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:74

#[cfg(feature = "chip8_app")]   //  If CHIP8 Emulator app is enabled...
use chip8::handle_touch;        //  Use the touch handler from the CHIP8 Emulator app

#[cfg(not(any(feature = "ui_app", feature = "visual_app", feature = "chip8_app")))]  //  If neither druid UI app nor Visual Rust app are enabled...
pub fn handle_touch(_x: u16, _y: u16) { console::print("touch not handled\n"); console::flush(); }  //  Define a touch handler that does nothing
   0:	b580      	push	{r7, lr}
   2:	b084      	sub	sp, #16
   4:	460a      	mov	r2, r1
   6:	4603      	mov	r3, r0
   8:	f8ad 000c 	strh.w	r0, [sp, #12]
   c:	f8ad 100e 	strh.w	r1, [sp, #14]
  10:	f240 0000 	movw	r0, #0
  14:	f2c0 0000 	movt	r0, #0
  18:	2112      	movs	r1, #18
  1a:	9202      	str	r2, [sp, #8]
  1c:	9301      	str	r3, [sp, #4]
  1e:	f7ff fffe 	bl	0 <mynewt::sys::console::print>
  22:	e7ff      	b.n	2 <mynewt::sys::console::flush+0x2>
  24:	f7ff fffe 	bl	0 <mynewt::sys::console::flush>
  28:	e7ff      	b.n	2a <app::handle_touch+0x2a>
  2a:	b004      	add	sp, #16
  2c:	bd80      	pop	{r7, pc}

Disassembly of section .text.main:

00000000 <main>:
main():
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:79

///  Main program that initialises the sensor, network driver and starts reading and sending sensor data in the background.
///  main() will be called at Mynewt startup. It replaces the C version of the main() function.
#[no_mangle]                 //  Don't mangle the name "main"
extern "C" fn main() -> ! {  //  Declare extern "C" because it will be called by Mynewt
   0:	b08a      	sub	sp, #40	; 0x28
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:84
    //  Initialise the Mynewt packages and internal temperature sensor driver. Any startup
    //  functions defined in pkg.yml of our custom drivers and libraries will be called by 
    //  sysinit().  Here are the startup functions consolidated by Mynewt:
    //  bin/targets/nrf52_my_sensor/generated/src/nrf52_my_sensor-sysinit-app.c
    mynewt::sysinit();
   2:	f7ff fffe 	bl	0 <mynewt::sysinit>
   6:	e7ff      	b.n	2 <test_flash+0x2>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:100
    assert!(rc == 0, "IMG fail");
    */
    
    //  Test External SPI Flash. Must run before testing the display, to avoid contention for SPI port.
    extern { fn test_flash() -> i32; }
    let rc = unsafe { test_flash() };
   8:	f7ff fffe 	bl	0 <test_flash>
   c:	9006      	str	r0, [sp, #24]
   e:	e7ff      	b.n	10 <main+0x10>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:101
    assert!(rc == 0, "FLASH fail");
  10:	9806      	ldr	r0, [sp, #24]
  12:	2800      	cmp	r0, #0
  14:	d104      	bne.n	20 <main+0x20>
  16:	e7ff      	b.n	18 <main+0x18>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:105

    //  Start Bluetooth LE, including over-the-air firmware upgrade.  TODO: Create a safe wrapper for starting Bluetooth LE.
    extern { fn start_ble() -> i32; }
    let rc = unsafe { start_ble() };
  18:	f7ff fffe 	bl	0 <start_ble>
  1c:	9007      	str	r0, [sp, #28]
  1e:	e00b      	b.n	38 <main+0x38>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:101
    assert!(rc == 0, "FLASH fail");
  20:	f240 0000 	movw	r0, #0
  24:	f2c0 0000 	movt	r0, #0
  28:	f240 0200 	movw	r2, #0
  2c:	f2c0 0200 	movt	r2, #0
  30:	210a      	movs	r1, #10
  32:	f7ff fffe 	bl	0 <core::panicking::panic>
  36:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:106
    assert!(rc == 0, "BLE fail");
  38:	9807      	ldr	r0, [sp, #28]
  3a:	2800      	cmp	r0, #0
  3c:	d104      	bne.n	48 <main+0x48>
  3e:	e7ff      	b.n	40 <main+0x40>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:109

    //  Start the display
    druid::start_display()
  40:	f7ff fffe 	bl	0 <piet_embedded_graphics::display::start_display>
  44:	9005      	str	r0, [sp, #20]
  46:	e00b      	b.n	60 <main+0x60>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:106
    assert!(rc == 0, "BLE fail");
  48:	f240 0000 	movw	r0, #0
  4c:	f2c0 0000 	movt	r0, #0
  50:	f240 0200 	movw	r2, #0
  54:	f2c0 0200 	movt	r2, #0
  58:	2108      	movs	r1, #8
  5a:	f7ff fffe 	bl	0 <core::panicking::panic>
  5e:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:109
    druid::start_display()
  60:	f240 0100 	movw	r1, #0
  64:	f2c0 0100 	movt	r1, #0
  68:	f240 0300 	movw	r3, #0
  6c:	f2c0 0300 	movt	r3, #0
  70:	2208      	movs	r2, #8
  72:	9805      	ldr	r0, [sp, #20]
  74:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
  78:	e7ff      	b.n	2 <app::display::test_display+0x2>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:114
        .expect("DSP fail");

    //  Test the display
    #[cfg(feature = "display_app")]  //  If graphics display app is enabled...
    display::test_display()
  7a:	f7ff fffe 	bl	0 <app::display::test_display>
  7e:	9004      	str	r0, [sp, #16]
  80:	e7ff      	b.n	82 <main+0x82>
  82:	f240 0100 	movw	r1, #0
  86:	f2c0 0100 	movt	r1, #0
  8a:	f240 0300 	movw	r3, #0
  8e:	f2c0 0300 	movt	r3, #0
  92:	220d      	movs	r2, #13
  94:	9804      	ldr	r0, [sp, #16]
  96:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
  9a:	e7ff      	b.n	2 <app::touch_sensor::start_touch_sensor+0x2>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:118
        .expect("DSP test fail");

    //  Start the touch sensor
    touch_sensor::start_touch_sensor()
  9c:	f7ff fffe 	bl	0 <app::touch_sensor::start_touch_sensor>
  a0:	9003      	str	r0, [sp, #12]
  a2:	e7ff      	b.n	a4 <main+0xa4>
  a4:	f240 0100 	movw	r1, #0
  a8:	f2c0 0100 	movt	r1, #0
  ac:	f240 0300 	movw	r3, #0
  b0:	f2c0 0300 	movt	r3, #0
  b4:	2208      	movs	r2, #8
  b6:	9803      	ldr	r0, [sp, #12]
  b8:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
  bc:	e7ff      	b.n	be <main+0xbe>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:140
    #[cfg(feature = "chip8_app")]  //  If CHIP8 Emulator app is enabled...
    chip8::on_start()
        .expect("CHIP8 fail");

    //  Main event loop
    loop {                            //  Loop forever...
  be:	e7ff      	b.n	c0 <main+0xc0>
  c0:	a808      	add	r0, sp, #32
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:142
        os::eventq_run(               //  Processing events...
            os::eventq_dflt_get()     //  From default event queue.
  c2:	f7ff fffe 	bl	0 <mynewt::kernel::os::eventq_dflt_get>
  c6:	e7ff      	b.n	1a <main+0x1a>
  c8:	f240 0100 	movw	r1, #0
  cc:	f2c0 0100 	movt	r1, #0
  d0:	f240 0300 	movw	r3, #0
  d4:	f2c0 0300 	movt	r3, #0
  d8:	a808      	add	r0, sp, #32
  da:	2208      	movs	r2, #8
  dc:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
  e0:	9002      	str	r0, [sp, #8]
  e2:	e7ff      	b.n	e4 <main+0xe4>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:141
        os::eventq_run(               //  Processing events...
  e4:	9802      	ldr	r0, [sp, #8]
  e6:	f7ff fffe 	bl	0 <mynewt::kernel::os::eventq_run>
  ea:	9001      	str	r0, [sp, #4]
  ec:	e7ff      	b.n	ee <main+0xee>
  ee:	f240 0100 	movw	r1, #0
  f2:	f2c0 0100 	movt	r1, #0
  f6:	f240 0300 	movw	r3, #0
  fa:	f2c0 0300 	movt	r3, #0
  fe:	2208      	movs	r2, #8
 100:	9801      	ldr	r0, [sp, #4]
 102:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
 106:	e7ff      	b.n	108 <main+0x108>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:140
    loop {                            //  Loop forever...
 108:	e7da      	b.n	c0 <main+0xc0>

Disassembly of section .text.rust_begin_unwind:

00000000 <rust_begin_unwind>:
rust_begin_unwind():
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:151
    //  Never comes here
}

///  This function is called on panic, like an assertion failure. We display the filename and line number and pause in the debugger. From https://os.phil-opp.com/freestanding-rust-binary/
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
   0:	b08a      	sub	sp, #40	; 0x28
   2:	9004      	str	r0, [sp, #16]
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:153
    //  Display the filename and line number to the Semihosting Console.
    console::print("panic ");
   4:	f240 0000 	movw	r0, #0
   8:	f2c0 0000 	movt	r0, #0
   c:	2106      	movs	r1, #6
   e:	f7ff fffe 	bl	0 <mynewt::sys::console::print>
  12:	e7ff      	b.n	14 <rust_begin_unwind+0x14>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:154
    if let Some(location) = info.location() {
  14:	9804      	ldr	r0, [sp, #16]
  16:	f7ff fffe 	bl	0 <core::panic::PanicInfo::location>
  1a:	9005      	str	r0, [sp, #20]
  1c:	e7ff      	b.n	1e <rust_begin_unwind+0x1e>
  1e:	9805      	ldr	r0, [sp, #20]
  20:	2800      	cmp	r0, #0
  22:	d108      	bne.n	36 <rust_begin_unwind+0x36>
  24:	e7ff      	b.n	26 <rust_begin_unwind+0x26>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:161
        let line = location.line();
        console::print("at ");       console::buffer(&file);
        console::print(" line ");    console::printint(line as i32);
        console::print("\n");        console::flush();
    } else {
        console::print("no loc\n");  console::flush();
  26:	f240 0000 	movw	r0, #0
  2a:	f2c0 0000 	movt	r0, #0
  2e:	2107      	movs	r1, #7
  30:	f7ff fffe 	bl	0 <mynewt::sys::console::print>
  34:	e031      	b.n	9a <rust_begin_unwind+0x9a>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:154
    if let Some(location) = info.location() {
  36:	9805      	ldr	r0, [sp, #20]
  38:	9006      	str	r0, [sp, #24]
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:155
        let file = location.file();
  3a:	9806      	ldr	r0, [sp, #24]
  3c:	f7ff fffe 	bl	0 <core::panic::Location::file>
  40:	9108      	str	r1, [sp, #32]
  42:	9007      	str	r0, [sp, #28]
  44:	e7ff      	b.n	46 <rust_begin_unwind+0x46>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:156
        let line = location.line();
  46:	9806      	ldr	r0, [sp, #24]
  48:	f7ff fffe 	bl	0 <core::panic::Location::line>
  4c:	9009      	str	r0, [sp, #36]	; 0x24
  4e:	e7ff      	b.n	50 <rust_begin_unwind+0x50>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:157
        console::print("at ");       console::buffer(&file);
  50:	f240 0000 	movw	r0, #0
  54:	f2c0 0000 	movt	r0, #0
  58:	2103      	movs	r1, #3
  5a:	f7ff fffe 	bl	0 <mynewt::sys::console::print>
  5e:	e7ff      	b.n	60 <rust_begin_unwind+0x60>
  60:	9807      	ldr	r0, [sp, #28]
  62:	9908      	ldr	r1, [sp, #32]
  64:	f7ff fffe 	bl	0 <mynewt::sys::console::buffer>
  68:	e7ff      	b.n	2 <rust_begin_unwind+0x2>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:158
        console::print(" line ");    console::printint(line as i32);
  6a:	f240 0000 	movw	r0, #0
  6e:	f2c0 0000 	movt	r0, #0
  72:	2106      	movs	r1, #6
  74:	f7ff fffe 	bl	0 <mynewt::sys::console::print>
  78:	e7ff      	b.n	7a <rust_begin_unwind+0x7a>
  7a:	9809      	ldr	r0, [sp, #36]	; 0x24
  7c:	f7ff fffe 	bl	0 <mynewt::sys::console::printint>
  80:	e7ff      	b.n	2 <rust_begin_unwind+0x2>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:159
        console::print("\n");        console::flush();
  82:	f240 0000 	movw	r0, #0
  86:	f2c0 0000 	movt	r0, #0
  8a:	2101      	movs	r1, #1
  8c:	f7ff fffe 	bl	0 <mynewt::sys::console::print>
  90:	e7ff      	b.n	2 <mynewt::sys::console::flush+0x2>
  92:	f7ff fffe 	bl	0 <mynewt::sys::console::flush>
  96:	e7ff      	b.n	98 <rust_begin_unwind+0x98>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:154
    if let Some(location) = info.location() {
  98:	e003      	b.n	a2 <rust_begin_unwind+0xa2>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:161
        console::print("no loc\n");  console::flush();
  9a:	f7ff fffe 	bl	0 <mynewt::sys::console::flush>
  9e:	e7ff      	b.n	a0 <rust_begin_unwind+0xa0>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:154
    if let Some(location) = info.location() {
  a0:	e7ff      	b.n	a2 <rust_begin_unwind+0xa2>
_ZN8cortex_m3asm4bkpt17heaf2dfb2ecf6f289E():
C:\Users\guppy\.cargo\registry\src\github.com-1ecc6299db9ec823\cortex-m-0.6.1\src/asm.rs:11
/// exception.
#[inline(always)]
pub fn bkpt() {
    match () {
        #[cfg(all(cortex_m, feature = "inline-asm"))]
        () => unsafe { asm!("bkpt" :::: "volatile") },
  a2:	be00      	bkpt	0x0000
rust_begin_unwind():
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:164
    }
    //  Pause in the debugger.
    bkpt();
  a4:	e7ff      	b.n	a6 <rust_begin_unwind+0xa6>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:166
    //  Display the payload.
    console::print(info.payload().downcast_ref::<&str>().unwrap());
  a6:	9804      	ldr	r0, [sp, #16]
  a8:	f7ff fffe 	bl	0 <core::panic::PanicInfo::payload>
  ac:	9003      	str	r0, [sp, #12]
  ae:	9102      	str	r1, [sp, #8]
  b0:	e7ff      	b.n	b2 <rust_begin_unwind+0xb2>
  b2:	9803      	ldr	r0, [sp, #12]
  b4:	9902      	ldr	r1, [sp, #8]
  b6:	f7ff fffe 	bl	0 <<dyn core::any::Any+core::marker::Send>::downcast_ref>
  ba:	9001      	str	r0, [sp, #4]
  bc:	e7ff      	b.n	be <rust_begin_unwind+0xbe>
  be:	f240 0100 	movw	r1, #0
  c2:	f2c0 0100 	movt	r1, #0
  c6:	9801      	ldr	r0, [sp, #4]
  c8:	f7ff fffe 	bl	0 <core::option::Option<T>::unwrap>
  cc:	9000      	str	r0, [sp, #0]
  ce:	e7ff      	b.n	d0 <rust_begin_unwind+0xd0>
  d0:	9800      	ldr	r0, [sp, #0]
  d2:	6800      	ldr	r0, [r0, #0]
  d4:	9900      	ldr	r1, [sp, #0]
  d6:	6849      	ldr	r1, [r1, #4]
  d8:	f7ff fffe 	bl	0 <mynewt::sys::console::print>
  dc:	e7ff      	b.n	2 <rust_begin_unwind+0x2>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:167
    console::print("\n");  console::flush();
  de:	f240 0000 	movw	r0, #0
  e2:	f2c0 0000 	movt	r0, #0
  e6:	2101      	movs	r1, #1
  e8:	f7ff fffe 	bl	0 <mynewt::sys::console::print>
  ec:	e7ff      	b.n	2 <mynewt::sys::console::flush+0x2>
  ee:	f7ff fffe 	bl	0 <mynewt::sys::console::flush>
  f2:	e7ff      	b.n	f4 <rust_begin_unwind+0xf4>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/lib.rs:169
    //  Loop forever so that device won't restart.
    loop {}
  f4:	e7ff      	b.n	f6 <rust_begin_unwind+0xf6>
  f6:	e7fe      	b.n	f6 <rust_begin_unwind+0xf6>

app-2c84bd17359ee43e.32dcd6nlnu95nyeb.rcgu.o:     file format elf32-littlearm

SYMBOL TABLE:
00000000 l    df *ABS*	00000000 32dcd6nlnu95nyeb
0000026f l       .debug_str	00000000 
000004aa l       .debug_str	00000000 
0000046a l       .debug_str	00000000 
0000045c l       .debug_str	00000000 
00000000 l       .debug_str	00000000 
00000041 l       .debug_str	00000000 
00000055 l       .debug_str	00000000 
00000076 l       .debug_str	00000000 
0000007d l       .debug_str	00000000 
00000084 l       .debug_str	00000000 
00000088 l       .debug_str	00000000 
00000090 l       .debug_str	00000000 
0000009b l       .debug_str	00000000 
000000a6 l       .debug_str	00000000 
000000b3 l       .debug_str	00000000 
000000be l       .debug_str	00000000 
000000c6 l       .debug_str	00000000 
000000d1 l       .debug_str	00000000 
000000dc l       .debug_str	00000000 
000000e6 l       .debug_str	00000000 
000000f1 l       .debug_str	00000000 
000000fc l       .debug_str	00000000 
00000109 l       .debug_str	00000000 
00000115 l       .debug_str	00000000 
00000122 l       .debug_str	00000000 
00000130 l       .debug_str	00000000 
0000013a l       .debug_str	00000000 
00000147 l       .debug_str	00000000 
0000015b l       .debug_str	00000000 
0000016d l       .debug_str	00000000 
00000181 l       .debug_str	00000000 
00000197 l       .debug_str	00000000 
000001ad l       .debug_str	00000000 
000001b9 l       .debug_str	00000000 
000001bd l       .debug_str	00000000 
000001c5 l       .debug_str	00000000 
000001f7 l       .debug_str	00000000 
00000204 l       .debug_str	00000000 
00000209 l       .debug_str	00000000 
0000020d l       .debug_str	00000000 
00000210 l       .debug_str	00000000 
00000214 l       .debug_str	00000000 
00000217 l       .debug_str	00000000 
00000219 l       .debug_str	00000000 
0000021b l       .debug_str	00000000 
0000021f l       .debug_str	00000000 
00000247 l       .debug_str	00000000 
00000252 l       .debug_str	00000000 
00000264 l       .debug_str	00000000 
00000452 l       .debug_str	00000000 
00000279 l       .debug_str	00000000 
00000282 l       .debug_str	00000000 
00000288 l       .debug_str	00000000 
00000297 l       .debug_str	00000000 
0000029b l       .debug_str	00000000 
000002a1 l       .debug_str	00000000 
000002ae l       .debug_str	00000000 
000002b4 l       .debug_str	00000000 
000002bf l       .debug_str	00000000 
000002c6 l       .debug_str	00000000 
000002ca l       .debug_str	00000000 
000002cf l       .debug_str	00000000 
000002da l       .debug_str	00000000 
000002e1 l       .debug_str	00000000 
000002e8 l       .debug_str	00000000 
000002ed l       .debug_str	00000000 
00000323 l       .debug_str	00000000 
00000330 l       .debug_str	00000000 
0000033d l       .debug_str	00000000 
00000340 l       .debug_str	00000000 
00000342 l       .debug_str	00000000 
00000377 l       .debug_str	00000000 
00000379 l       .debug_str	00000000 
000003b2 l       .debug_str	00000000 
000003b9 l       .debug_str	00000000 
000003c0 l       .debug_str	00000000 
000003c7 l       .debug_str	00000000 
000003fd l       .debug_str	00000000 
00000404 l       .debug_str	00000000 
00000409 l       .debug_str	00000000 
0000040f l       .debug_str	00000000 
0000041c l       .debug_str	00000000 
00000420 l       .debug_str	00000000 
00000429 l       .debug_str	00000000 
00000433 l       .debug_str	00000000 
0000043a l       .debug_str	00000000 
00000440 l       .debug_str	00000000 
00000445 l       .debug_str	00000000 
0000044b l       .debug_str	00000000 
000004af l       .debug_str	00000000 
00000000 l     O .rodata..Lanon.7dc666785ec1b9f55d42d71de9949c93.0	00000012 .Lanon.7dc666785ec1b9f55d42d71de9949c93.0
00000000 l     O .rodata..Lanon.7dc666785ec1b9f55d42d71de9949c93.1	0000000d .Lanon.7dc666785ec1b9f55d42d71de9949c93.1
00000000 l    d  .text._ZN3app7display12test_display17ha63280ad8b026b33E	00000000 .text._ZN3app7display12test_display17ha63280ad8b026b33E
00000000 l    d  .debug_abbrev	00000000 .debug_abbrev
00000000 l    d  .debug_info	00000000 .debug_info
00000000 l    d  .debug_frame	00000000 .debug_frame
00000000 l    d  .debug_line	00000000 .debug_line
00000000         *UND*	00000000 <embedded_graphics::primitives::circle::Circle<C> as embedded_graphics::style::WithStyle<C>>::fill
00000000         *UND*	00000000 <embedded_graphics::pixelcolor::rgb565::Rgb565 as core::convert::From<(u8, u8, u8)>>::from
00000000         *UND*	00000000 <embedded_graphics::primitives::rectangle::Rectangle<C> as embedded_graphics::style::WithStyle<C>>::fill
00000000         *UND*	00000000 <embedded_graphics::fonts::font_builder::FontBuilder<C,Conf> as embedded_graphics::fonts::Font<C>>::render_str
00000000         *UND*	00000000 <embedded_graphics::fonts::font_builder::FontBuilder<C,Conf> as embedded_graphics::transform::Transform>::translate
00000000         *UND*	00000000 <embedded_graphics::fonts::font_builder::FontBuilder<C,Conf> as embedded_graphics::style::WithStyle<C>>::fill
00000000         *UND*	00000000 <embedded_graphics::fonts::font_builder::FontBuilder<C,Conf> as embedded_graphics::style::WithStyle<C>>::stroke
00000000         *UND*	00000000 embedded_graphics::primitives::circle::Circle<C>::new
00000000         *UND*	00000000 embedded_graphics::primitives::rectangle::Rectangle<C>::new
00000000         *UND*	00000000 embedded_graphics::coord::internal_coord::Coord::new
00000000         *UND*	00000000 piet_embedded_graphics::display::draw_to_display
00000000         *UND*	00000000 piet_embedded_graphics::display::draw_to_display
00000000         *UND*	00000000 piet_embedded_graphics::display::draw_to_display
00000000 g     F .text._ZN3app7display12test_display17ha63280ad8b026b33E	0000028e .hidden app::display::test_display
00000000         *UND*	00000000 mynewt::sys::console::flush
00000000         *UND*	00000000 mynewt::sys::console::print



Disassembly of section .text._ZN3app7display12test_display17ha63280ad8b026b33E:

00000000 <app::display::test_display>:
_ZN3app7display12test_display17ha63280ad8b026b33E():
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:22
    digital::v2::OutputPin,
    blocking::delay::DelayMs,
};

/// Render some graphics and text to the PineTime display. `start_display()` must have been called earlier.
pub fn test_display() -> MynewtResult<()> {
   0:	b570      	push	{r4, r5, r6, lr}
   2:	f5ad 7d00 	sub.w	sp, sp, #512	; 0x200
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:23
    console::print("Rust test display\n"); console::flush();
   6:	f240 0000 	movw	r0, #0
   a:	f2c0 0000 	movt	r0, #0
   e:	2112      	movs	r1, #18
  10:	f7ff fffe 	bl	0 <mynewt::sys::console::print>
  14:	e7ff      	b.n	2 <mynewt::sys::console::flush+0x2>
  16:	f7ff fffe 	bl	0 <mynewt::sys::console::flush>
  1a:	e7ff      	b.n	1c <app::display::test_display+0x1c>
  1c:	2000      	movs	r0, #0
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:27
    
    //  Create black background
    let background = Rectangle::<Rgb565>
        ::new( Coord::new( 0, 0 ), Coord::new( 239, 239 ) )   //  Rectangle coordinates
  1e:	9016      	str	r0, [sp, #88]	; 0x58
  20:	9916      	ldr	r1, [sp, #88]	; 0x58
  22:	f7ff fffe 	bl	0 <embedded_graphics::coord::internal_coord::Coord::new>
  26:	9015      	str	r0, [sp, #84]	; 0x54
  28:	9114      	str	r1, [sp, #80]	; 0x50
  2a:	e7ff      	b.n	2c <app::display::test_display+0x2c>
  2c:	20ef      	movs	r0, #239	; 0xef
  2e:	9013      	str	r0, [sp, #76]	; 0x4c
  30:	9913      	ldr	r1, [sp, #76]	; 0x4c
  32:	f7ff fffe 	bl	0 <embedded_graphics::coord::internal_coord::Coord::new>
  36:	9012      	str	r0, [sp, #72]	; 0x48
  38:	9111      	str	r1, [sp, #68]	; 0x44
  3a:	e7ff      	b.n	3c <app::display::test_display+0x3c>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:26
    let background = Rectangle::<Rgb565>
  3c:	4668      	mov	r0, sp
  3e:	9911      	ldr	r1, [sp, #68]	; 0x44
  40:	6001      	str	r1, [r0, #0]
  42:	a81e      	add	r0, sp, #120	; 0x78
  44:	9915      	ldr	r1, [sp, #84]	; 0x54
  46:	9a14      	ldr	r2, [sp, #80]	; 0x50
  48:	9b12      	ldr	r3, [sp, #72]	; 0x48
  4a:	f7ff fffe 	bl	0 <embedded_graphics::primitives::rectangle::Rectangle<C>::new>
  4e:	e7ff      	b.n	50 <app::display::test_display+0x50>
  50:	2000      	movs	r0, #0
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:28
        .fill( Some( Rgb565::from(( 0x00, 0x00, 0x00 )) ) );  //  Black
  52:	f88d 0098 	strb.w	r0, [sp, #152]	; 0x98
  56:	f88d 0099 	strb.w	r0, [sp, #153]	; 0x99
  5a:	f88d 009a 	strb.w	r0, [sp, #154]	; 0x9a
  5e:	f89d 009a 	ldrb.w	r0, [sp, #154]	; 0x9a
  62:	f8bd 1098 	ldrh.w	r1, [sp, #152]	; 0x98
  66:	ea41 4000 	orr.w	r0, r1, r0, lsl #16
  6a:	f7ff fffe 	bl	0 <<embedded_graphics::pixelcolor::rgb565::Rgb565 as core::convert::From<(u8, u8, u8)>>::from>
  6e:	9010      	str	r0, [sp, #64]	; 0x40
  70:	e7ff      	b.n	72 <app::display::test_display+0x72>
  72:	9810      	ldr	r0, [sp, #64]	; 0x40
  74:	f8ad 0096 	strh.w	r0, [sp, #150]	; 0x96
  78:	2101      	movs	r1, #1
  7a:	f8ad 1094 	strh.w	r1, [sp, #148]	; 0x94
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:26
    let background = Rectangle::<Rgb565>
  7e:	f8bd 3096 	ldrh.w	r3, [sp, #150]	; 0x96
  82:	f8bd 2094 	ldrh.w	r2, [sp, #148]	; 0x94
  86:	a817      	add	r0, sp, #92	; 0x5c
  88:	a91e      	add	r1, sp, #120	; 0x78
  8a:	f7ff fffe 	bl	0 <<embedded_graphics::primitives::rectangle::Rectangle<C> as embedded_graphics::style::WithStyle<C>>::fill>
  8e:	e7ff      	b.n	90 <app::display::test_display+0x90>
  90:	2028      	movs	r0, #40	; 0x28
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:32

    //  Create circle
    let circle = Circle::<Rgb565>
        ::new( Coord::new( 40, 40 ), 40 )                     //  Circle centre and radius
  92:	900f      	str	r0, [sp, #60]	; 0x3c
  94:	990f      	ldr	r1, [sp, #60]	; 0x3c
  96:	f7ff fffe 	bl	0 <embedded_graphics::coord::internal_coord::Coord::new>
  9a:	900e      	str	r0, [sp, #56]	; 0x38
  9c:	910d      	str	r1, [sp, #52]	; 0x34
  9e:	e7ff      	b.n	a0 <app::display::test_display+0xa0>
  a0:	a82d      	add	r0, sp, #180	; 0xb4
  a2:	2328      	movs	r3, #40	; 0x28
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:31
    let circle = Circle::<Rgb565>
  a4:	990e      	ldr	r1, [sp, #56]	; 0x38
  a6:	9a0d      	ldr	r2, [sp, #52]	; 0x34
  a8:	f7ff fffe 	bl	0 <embedded_graphics::primitives::circle::Circle<C>::new>
  ac:	e7ff      	b.n	ae <app::display::test_display+0xae>
  ae:	20ff      	movs	r0, #255	; 0xff
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:33
        .fill( Some( Rgb565::from(( 0xff, 0x00, 0xff )) ) );  //  Magenta
  b0:	f88d 00d0 	strb.w	r0, [sp, #208]	; 0xd0
  b4:	2100      	movs	r1, #0
  b6:	f88d 10d1 	strb.w	r1, [sp, #209]	; 0xd1
  ba:	f88d 00d2 	strb.w	r0, [sp, #210]	; 0xd2
  be:	f89d 00d2 	ldrb.w	r0, [sp, #210]	; 0xd2
  c2:	f8bd 10d0 	ldrh.w	r1, [sp, #208]	; 0xd0
  c6:	ea41 4000 	orr.w	r0, r1, r0, lsl #16
  ca:	f7ff fffe 	bl	0 <<embedded_graphics::pixelcolor::rgb565::Rgb565 as core::convert::From<(u8, u8, u8)>>::from>
  ce:	900c      	str	r0, [sp, #48]	; 0x30
  d0:	e7ff      	b.n	d2 <app::display::test_display+0xd2>
  d2:	980c      	ldr	r0, [sp, #48]	; 0x30
  d4:	f8ad 00ce 	strh.w	r0, [sp, #206]	; 0xce
  d8:	2101      	movs	r1, #1
  da:	f8ad 10cc 	strh.w	r1, [sp, #204]	; 0xcc
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:31
    let circle = Circle::<Rgb565>
  de:	f8bd 30ce 	ldrh.w	r3, [sp, #206]	; 0xce
  e2:	f8bd 20cc 	ldrh.w	r2, [sp, #204]	; 0xcc
  e6:	a827      	add	r0, sp, #156	; 0x9c
  e8:	a92d      	add	r1, sp, #180	; 0xb4
  ea:	f7ff fffe 	bl	0 <<embedded_graphics::primitives::circle::Circle<C> as embedded_graphics::style::WithStyle<C>>::fill>
  ee:	e7ff      	b.n	f0 <app::display::test_display+0xf0>
  f0:	203c      	movs	r0, #60	; 0x3c
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:37

    //  Create square
    let square = Rectangle::<Rgb565>
        ::new( Coord::new( 60, 60 ), Coord::new( 150, 150 ) ) //  Square coordinates
  f2:	900b      	str	r0, [sp, #44]	; 0x2c
  f4:	990b      	ldr	r1, [sp, #44]	; 0x2c
  f6:	f7ff fffe 	bl	0 <embedded_graphics::coord::internal_coord::Coord::new>
  fa:	900a      	str	r0, [sp, #40]	; 0x28
  fc:	9109      	str	r1, [sp, #36]	; 0x24
  fe:	e7ff      	b.n	100 <app::display::test_display+0x100>
 100:	2096      	movs	r0, #150	; 0x96
 102:	9008      	str	r0, [sp, #32]
 104:	9908      	ldr	r1, [sp, #32]
 106:	f7ff fffe 	bl	0 <embedded_graphics::coord::internal_coord::Coord::new>
 10a:	9007      	str	r0, [sp, #28]
 10c:	9106      	str	r1, [sp, #24]
 10e:	e7ff      	b.n	110 <app::display::test_display+0x110>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:36
    let square = Rectangle::<Rgb565>
 110:	4668      	mov	r0, sp
 112:	9906      	ldr	r1, [sp, #24]
 114:	6001      	str	r1, [r0, #0]
 116:	a83c      	add	r0, sp, #240	; 0xf0
 118:	990a      	ldr	r1, [sp, #40]	; 0x28
 11a:	9a09      	ldr	r2, [sp, #36]	; 0x24
 11c:	9b07      	ldr	r3, [sp, #28]
 11e:	f7ff fffe 	bl	0 <embedded_graphics::primitives::rectangle::Rectangle<C>::new>
 122:	e7ff      	b.n	124 <app::display::test_display+0x124>
 124:	2000      	movs	r0, #0
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:38
        .fill( Some( Rgb565::from(( 0x00, 0x00, 0xff )) ) );  //  Blue
 126:	f88d 0110 	strb.w	r0, [sp, #272]	; 0x110
 12a:	f88d 0111 	strb.w	r0, [sp, #273]	; 0x111
 12e:	20ff      	movs	r0, #255	; 0xff
 130:	f88d 0112 	strb.w	r0, [sp, #274]	; 0x112
 134:	f89d 0112 	ldrb.w	r0, [sp, #274]	; 0x112
 138:	f8bd 1110 	ldrh.w	r1, [sp, #272]	; 0x110
 13c:	ea41 4000 	orr.w	r0, r1, r0, lsl #16
 140:	f7ff fffe 	bl	0 <<embedded_graphics::pixelcolor::rgb565::Rgb565 as core::convert::From<(u8, u8, u8)>>::from>
 144:	9005      	str	r0, [sp, #20]
 146:	e7ff      	b.n	148 <app::display::test_display+0x148>
 148:	9805      	ldr	r0, [sp, #20]
 14a:	f8ad 010e 	strh.w	r0, [sp, #270]	; 0x10e
 14e:	2101      	movs	r1, #1
 150:	f8ad 110c 	strh.w	r1, [sp, #268]	; 0x10c
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:36
    let square = Rectangle::<Rgb565>
 154:	f8bd 310e 	ldrh.w	r3, [sp, #270]	; 0x10e
 158:	f8bd 210c 	ldrh.w	r2, [sp, #268]	; 0x10c
 15c:	a835      	add	r0, sp, #212	; 0xd4
 15e:	a93c      	add	r1, sp, #240	; 0xf0
 160:	f7ff fffe 	bl	0 <<embedded_graphics::primitives::rectangle::Rectangle<C> as embedded_graphics::style::WithStyle<C>>::fill>
 164:	e7ff      	b.n	2 <app::display::test_display+0x2>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:41

    //  Create text
    let text = fonts::Font12x16::<Rgb565>
 166:	f240 0100 	movw	r1, #0
 16a:	f2c0 0100 	movt	r1, #0
 16e:	a85a      	add	r0, sp, #360	; 0x168
 170:	220d      	movs	r2, #13
 172:	f7ff fffe 	bl	0 <<embedded_graphics::fonts::font_builder::FontBuilder<C,Conf> as embedded_graphics::fonts::Font<C>>::render_str>
 176:	e7ff      	b.n	178 <app::display::test_display+0x178>
 178:	2000      	movs	r0, #0
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:43
        ::render_str("I AM PINETIME")                          //  Text to be rendered
        .stroke( Some( Rgb565::from(( 0x00, 0x00, 0x00 )) ) )  //  Black text
 17a:	f88d 0188 	strb.w	r0, [sp, #392]	; 0x188
 17e:	f88d 0189 	strb.w	r0, [sp, #393]	; 0x189
 182:	f88d 018a 	strb.w	r0, [sp, #394]	; 0x18a
 186:	f89d 018a 	ldrb.w	r0, [sp, #394]	; 0x18a
 18a:	f8bd 1188 	ldrh.w	r1, [sp, #392]	; 0x188
 18e:	ea41 4000 	orr.w	r0, r1, r0, lsl #16
 192:	f7ff fffe 	bl	0 <<embedded_graphics::pixelcolor::rgb565::Rgb565 as core::convert::From<(u8, u8, u8)>>::from>
 196:	9004      	str	r0, [sp, #16]
 198:	e7ff      	b.n	19a <app::display::test_display+0x19a>
 19a:	9804      	ldr	r0, [sp, #16]
 19c:	f8ad 0186 	strh.w	r0, [sp, #390]	; 0x186
 1a0:	2101      	movs	r1, #1
 1a2:	f8ad 1184 	strh.w	r1, [sp, #388]	; 0x184
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:41
    let text = fonts::Font12x16::<Rgb565>
 1a6:	f8bd 3186 	ldrh.w	r3, [sp, #390]	; 0x186
 1aa:	f8bd 2184 	ldrh.w	r2, [sp, #388]	; 0x184
 1ae:	a853      	add	r0, sp, #332	; 0x14c
 1b0:	a95a      	add	r1, sp, #360	; 0x168
 1b2:	f7ff fffe 	bl	0 <<embedded_graphics::fonts::font_builder::FontBuilder<C,Conf> as embedded_graphics::style::WithStyle<C>>::stroke>
 1b6:	e7ff      	b.n	1b8 <app::display::test_display+0x1b8>
 1b8:	20ff      	movs	r0, #255	; 0xff
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:44
        .fill(   Some( Rgb565::from(( 0xff, 0xff, 0x00 )) ) )  //  Yellow background
 1ba:	f88d 0190 	strb.w	r0, [sp, #400]	; 0x190
 1be:	f88d 0191 	strb.w	r0, [sp, #401]	; 0x191
 1c2:	2000      	movs	r0, #0
 1c4:	f88d 0192 	strb.w	r0, [sp, #402]	; 0x192
 1c8:	f89d 0192 	ldrb.w	r0, [sp, #402]	; 0x192
 1cc:	f8bd 1190 	ldrh.w	r1, [sp, #400]	; 0x190
 1d0:	ea41 4000 	orr.w	r0, r1, r0, lsl #16
 1d4:	f7ff fffe 	bl	0 <<embedded_graphics::pixelcolor::rgb565::Rgb565 as core::convert::From<(u8, u8, u8)>>::from>
 1d8:	9003      	str	r0, [sp, #12]
 1da:	e7ff      	b.n	1dc <app::display::test_display+0x1dc>
 1dc:	9803      	ldr	r0, [sp, #12]
 1de:	f8ad 018e 	strh.w	r0, [sp, #398]	; 0x18e
 1e2:	2101      	movs	r1, #1
 1e4:	f8ad 118c 	strh.w	r1, [sp, #396]	; 0x18c
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:41
    let text = fonts::Font12x16::<Rgb565>
 1e8:	f8bd 318e 	ldrh.w	r3, [sp, #398]	; 0x18e
 1ec:	f8bd 218c 	ldrh.w	r2, [sp, #396]	; 0x18c
 1f0:	a84c      	add	r0, sp, #304	; 0x130
 1f2:	a953      	add	r1, sp, #332	; 0x14c
 1f4:	f7ff fffe 	bl	0 <<embedded_graphics::fonts::font_builder::FontBuilder<C,Conf> as embedded_graphics::style::WithStyle<C>>::fill>
 1f8:	e7ff      	b.n	1fa <app::display::test_display+0x1fa>
 1fa:	2014      	movs	r0, #20
 1fc:	2110      	movs	r1, #16
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:45
        .translate( Coord::new( 20, 16 ));                     //  Shift the text
 1fe:	f7ff fffe 	bl	0 <embedded_graphics::coord::internal_coord::Coord::new>
 202:	9002      	str	r0, [sp, #8]
 204:	9101      	str	r1, [sp, #4]
 206:	e7ff      	b.n	208 <app::display::test_display+0x208>
 208:	a845      	add	r0, sp, #276	; 0x114
 20a:	a94c      	add	r1, sp, #304	; 0x130
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:41
    let text = fonts::Font12x16::<Rgb565>
 20c:	9a02      	ldr	r2, [sp, #8]
 20e:	9b01      	ldr	r3, [sp, #4]
 210:	f7ff fffe 	bl	0 <<embedded_graphics::fonts::font_builder::FontBuilder<C,Conf> as embedded_graphics::transform::Transform>::translate>
 214:	e7ff      	b.n	216 <app::display::test_display+0x216>
 216:	a817      	add	r0, sp, #92	; 0x5c
 218:	a965      	add	r1, sp, #404	; 0x194
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:48

    //  Render background, circle, square and text to display
    druid::draw_to_display(background);
 21a:	460a      	mov	r2, r1
 21c:	e8b0 5008 	ldmia.w	r0!, {r3, ip, lr}
 220:	e8a2 5008 	stmia.w	r2!, {r3, ip, lr}
 224:	e890 5018 	ldmia.w	r0, {r3, r4, ip, lr}
 228:	e882 5018 	stmia.w	r2, {r3, r4, ip, lr}
 22c:	4608      	mov	r0, r1
 22e:	f7ff fffe 	bl	0 <piet_embedded_graphics::display::draw_to_display>
 232:	e7ff      	b.n	234 <app::display::test_display+0x234>
 234:	a827      	add	r0, sp, #156	; 0x9c
 236:	a96c      	add	r1, sp, #432	; 0x1b0
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:49
    druid::draw_to_display(circle);
 238:	460a      	mov	r2, r1
 23a:	e890 5078 	ldmia.w	r0, {r3, r4, r5, r6, ip, lr}
 23e:	e882 5078 	stmia.w	r2, {r3, r4, r5, r6, ip, lr}
 242:	4608      	mov	r0, r1
 244:	f7ff fffe 	bl	0 <piet_embedded_graphics::display::draw_to_display>
 248:	e7ff      	b.n	24a <app::display::test_display+0x24a>
 24a:	a835      	add	r0, sp, #212	; 0xd4
 24c:	a972      	add	r1, sp, #456	; 0x1c8
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:50
    druid::draw_to_display(square);
 24e:	460a      	mov	r2, r1
 250:	e8b0 5008 	ldmia.w	r0!, {r3, ip, lr}
 254:	e8a2 5008 	stmia.w	r2!, {r3, ip, lr}
 258:	e890 5018 	ldmia.w	r0, {r3, r4, ip, lr}
 25c:	e882 5018 	stmia.w	r2, {r3, r4, ip, lr}
 260:	4608      	mov	r0, r1
 262:	f7ff fffe 	bl	0 <piet_embedded_graphics::display::draw_to_display>
 266:	e7ff      	b.n	268 <app::display::test_display+0x268>
 268:	a845      	add	r0, sp, #276	; 0x114
 26a:	a979      	add	r1, sp, #484	; 0x1e4
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:51
    druid::draw_to_display(text);    
 26c:	460a      	mov	r2, r1
 26e:	e8b0 5008 	ldmia.w	r0!, {r3, ip, lr}
 272:	e8a2 5008 	stmia.w	r2!, {r3, ip, lr}
 276:	e890 5018 	ldmia.w	r0, {r3, r4, ip, lr}
 27a:	e882 5018 	stmia.w	r2, {r3, r4, ip, lr}
 27e:	4608      	mov	r0, r1
 280:	f7ff fffe 	bl	0 <piet_embedded_graphics::display::draw_to_display>
 284:	e7ff      	b.n	286 <app::display::test_display+0x286>
 286:	2001      	movs	r0, #1
C:\PineTime\pinetime-rust-mynewt/rust\app\src/display.rs:58
    //  Test the backlight
    //  test_backlight() ? ;

    //  Return success to the caller
    Ok(())
}
 288:	f50d 7d00 	add.w	sp, sp, #512	; 0x200
 28c:	bd70      	pop	{r4, r5, r6, pc}

app-2c84bd17359ee43e.3afpyhrw1mr45x19.rcgu.o:     file format elf32-littlearm

SYMBOL TABLE:
00000000 l    df *ABS*	00000000 3afpyhrw1mr45x19
00000d90 l       .debug_str	00000000 
00003702 l       .debug_str	00000000 
000036f7 l       .debug_str	00000000 
000036ef l       .debug_str	00000000 
000035f1 l       .debug_str	00000000 
000035e8 l       .debug_str	00000000 
00003524 l       .debug_str	00000000 
000037c7 l       .debug_str	00000000 
00003454 l       .debug_str	00000000 
000037c3 l       .debug_str	00000000 
0000344e l       .debug_str	00000000 
0000344a l       .debug_str	00000000 
000033f0 l       .debug_str	00000000 
000033bb l       .debug_str	00000000 
000037bf l       .debug_str	00000000 
000033ad l       .debug_str	00000000 
000037b8 l       .debug_str	00000000 
00003395 l       .debug_str	00000000 
000037b1 l       .debug_str	00000000 
00003387 l       .debug_str	00000000 
00003761 l       .debug_str	00000000 
0000337e l       .debug_str	00000000 
00003722 l       .debug_str	00000000 
00003373 l       .debug_str	00000000 
0000371f l       .debug_str	00000000 
000032dd l       .debug_str	00000000 
0000371c l       .debug_str	00000000 
000032d8 l       .debug_str	00000000 
00003713 l       .debug_str	00000000 
000031d4 l       .debug_str	00000000 
0000370f l       .debug_str	00000000 
00003171 l       .debug_str	00000000 
0000370b l       .debug_str	00000000 
00000000 l       .debug_str	00000000 
00000041 l       .debug_str	00000000 
00000055 l       .debug_str	00000000 
00000076 l       .debug_str	00000000 
0000007b l       .debug_str	00000000 
00000082 l       .debug_str	00000000 
00000085 l       .debug_str	00000000 
00000088 l       .debug_str	00000000 
0000008c l       .debug_str	00000000 
00000093 l       .debug_str	00000000 
000000aa l       .debug_str	00000000 
000000b0 l       .debug_str	00000000 
000000b9 l       .debug_str	00000000 
000000be l       .debug_str	00000000 
000000c5 l       .debug_str	00000000 
000000cd l       .debug_str	00000000 
000000df l       .debug_str	00000000 
000000ea l       .debug_str	00000000 
000000f1 l       .debug_str	00000000 
000000f8 l       .debug_str	00000000 
000000fe l       .debug_str	00000000 
0000010d l       .debug_str	00000000 
00000111 l       .debug_str	00000000 
00000115 l       .debug_str	00000000 
00000119 l       .debug_str	00000000 
0000011f l       .debug_str	00000000 
00000126 l       .debug_str	00000000 
0000012a l       .debug_str	00000000 
00000130 l       .debug_str	00000000 
0000013b l       .debug_str	00000000 
00000142 l       .debug_str	00000000 
00000146 l       .debug_str	00000000 
0000014b l       .debug_str	00000000 
00000156 l       .debug_str	00000000 
0000015d l       .debug_str	00000000 
00000164 l       .debug_str	00000000 
00000166 l       .debug_str	00000000 
0000016b l       .debug_str	00000000 
000001a1 l       .debug_str	00000000 
000001ae l       .debug_str	00000000 
000001bb l       .debug_str	00000000 
000001bd l       .debug_str	00000000 
000001f2 l       .debug_str	00000000 
000001f4 l       .debug_str	00000000 
000001f6 l       .debug_str	00000000 
000001f8 l       .debug_str	00000000 
00000236 l       .debug_str	00000000 
000002c4 l       .debug_str	00000000 
0000032f l       .debug_str	00000000 
00000336 l       .debug_str	00000000 
0000033e l       .debug_str	00000000 
00000345 l       .debug_str	00000000 
0000034e l       .debug_str	00000000 
00000352 l       .debug_str	00000000 
00000354 l       .debug_str	00000000 
0000035b l       .debug_str	00000000 
0000035f l       .debug_str	00000000 
0000036c l       .debug_str	00000000 
00000373 l       .debug_str	00000000 
00000376 l       .debug_str	00000000 
0000037c l       .debug_str	00000000 
0000038a l       .debug_str	00000000 
00000398 l       .debug_str	00000000 
0000039d l       .debug_str	00000000 
000003a5 l       .debug_str	00000000 
000003ad l       .debug_str	00000000 
000003af l       .debug_str	00000000 
000003cc l       .debug_str	00000000 
00000412 l       .debug_str	00000000 
0000041a l       .debug_str	00000000 
00000421 l       .debug_str	00000000 
00000432 l       .debug_str	00000000 
000004a2 l       .debug_str	00000000 
0000053c l       .debug_str	00000000 
000005ff l       .debug_str	00000000 
000006ec l       .debug_str	00000000 
000006f4 l       .debug_str	00000000 
000006f9 l       .debug_str	00000000 
000006ff l       .debug_str	00000000 
00000703 l       .debug_str	00000000 
00000706 l       .debug_str	00000000 
0000072f l       .debug_str	00000000 
00000765 l       .debug_str	00000000 
00000767 l       .debug_str	00000000 
00000794 l       .debug_str	00000000 
000007e4 l       .debug_str	00000000 
00000841 l       .debug_str	00000000 
00000895 l       .debug_str	00000000 
00000898 l       .debug_str	00000000 
0000090f l       .debug_str	00000000 
00000993 l       .debug_str	00000000 
00000a0e l       .debug_str	00000000 
00000aac l       .debug_str	00000000 
00000b57 l       .debug_str	00000000 
00000bf9 l       .debug_str	00000000 
00000cbe l       .debug_str	00000000 
000030a7 l       .debug_str	00000000 
00000e59 l       .debug_str	00000000 
00000f45 l       .debug_str	00000000 
0000103e l       .debug_str	00000000 
0000112e l       .debug_str	00000000 
00001240 l       .debug_str	00000000 
0000136f l       .debug_str	00000000 
0000149d l       .debug_str	00000000 
000014a1 l       .debug_str	00000000 
000014a7 l       .debug_str	00000000 
000014a9 l       .debug_str	00000000 
000015cf l       .debug_str	00000000 
000015d1 l       .debug_str	00000000 
000016da l       .debug_str	00000000 
000016e3 l       .debug_str	00000000 
00001713 l       .debug_str	00000000 
00001719 l       .debug_str	00000000 
00001726 l       .debug_str	00000000 
00001732 l       .debug_str	00000000 
0000173e l       .debug_str	00000000 
0000174b l       .debug_str	00000000 
00001750 l       .debug_str	00000000 
0000175d l       .debug_str	00000000 
00001761 l       .debug_str	00000000 
00001765 l       .debug_str	00000000 
0000176a l       .debug_str	00000000 
00001773 l       .debug_str	00000000 
0000177d l       .debug_str	00000000 
00001784 l       .debug_str	00000000 
00001789 l       .debug_str	00000000 
0000178f l       .debug_str	00000000 
00001799 l       .debug_str	00000000 
000017a7 l       .debug_str	00000000 
000017e7 l       .debug_str	00000000 
000017ec l       .debug_str	00000000 
00001863 l       .debug_str	00000000 
000018f1 l       .debug_str	00000000 
00001996 l       .debug_str	00000000 
0000199d l       .debug_str	00000000 
000019a9 l       .debug_str	00000000 
000019ae l       .debug_str	00000000 
00001a20 l       .debug_str	00000000 
00001a22 l       .debug_str	00000000 
00001ab2 l       .debug_str	00000000 
00001b49 l       .debug_str	00000000 
00001b4f l       .debug_str	00000000 
00001b58 l       .debug_str	00000000 
00001c6f l       .debug_str	00000000 
00001d82 l       .debug_str	00000000 
00001ea2 l       .debug_str	00000000 
00001fb9 l       .debug_str	00000000 
000020f2 l       .debug_str	00000000 
00002248 l       .debug_str	00000000 
0000239d l       .debug_str	00000000 
000024ea l       .debug_str	00000000 
0000261a l       .debug_str	00000000 
00002625 l       .debug_str	00000000 
00002657 l       .debug_str	00000000 
00002703 l       .debug_str	00000000 
00002793 l       .debug_str	00000000 
00002864 l       .debug_str	00000000 
0000286b l       .debug_str	00000000 
0000286f l       .debug_str	00000000 
00002877 l       .debug_str	00000000 
0000287e l       .debug_str	00000000 
00002882 l       .debug_str	00000000 
00002886 l       .debug_str	00000000 
0000288b l       .debug_str	00000000 
0000288e l       .debug_str	00000000 
00002892 l       .debug_str	00000000 
00002901 l       .debug_str	00000000 
00002944 l       .debug_str	00000000 
00002a1d l       .debug_str	00000000 
00002a53 l       .debug_str	00000000 
00002a96 l       .debug_str	00000000 
00002b35 l       .debug_str	00000000 
00002b73 l       .debug_str	00000000 
00002be1 l       .debug_str	00000000 
00002c1f l       .debug_str	00000000 
00002cc7 l       .debug_str	00000000 
00002d07 l       .debug_str	00000000 
00002ddd l       .debug_str	00000000 
00002de2 l       .debug_str	00000000 
00002dec l       .debug_str	00000000 
00002ec6 l       .debug_str	00000000 
00002f06 l       .debug_str	00000000 
00002fa2 l       .debug_str	00000000 
00003042 l       .debug_str	00000000 
00003044 l       .debug_str	00000000 
00003707 l       .debug_str	00000000 
00000000 l     O .rodata..Lanon.d89ccf1d3db024534d089cf7ec2ccb0c.0	00000005 .Lanon.d89ccf1d3db024534d089cf7ec2ccb0c.0
00000000 l     O .rodata..Lanon.d89ccf1d3db024534d089cf7ec2ccb0c.2	00000010 .Lanon.d89ccf1d3db024534d089cf7ec2ccb0c.2
00000000 l     O .rodata..Lanon.d89ccf1d3db024534d089cf7ec2ccb0c.3	00000010 .Lanon.d89ccf1d3db024534d089cf7ec2ccb0c.3
00000000 l     O .rodata..Lanon.d89ccf1d3db024534d089cf7ec2ccb0c.4	00000010 .Lanon.d89ccf1d3db024534d089cf7ec2ccb0c.4
00000000 l     O .rodata..Lanon.d89ccf1d3db024534d089cf7ec2ccb0c.5	00000010 .Lanon.d89ccf1d3db024534d089cf7ec2ccb0c.5
00000000 l     O .rodata..Lanon.d89ccf1d3db024534d089cf7ec2ccb0c.6	00000010 .Lanon.d89ccf1d3db024534d089cf7ec2ccb0c.6
00000000 l     O .rodata..Lanon.d89ccf1d3db024534d089cf7ec2ccb0c.7	00000010 .Lanon.d89ccf1d3db024534d089cf7ec2ccb0c.7
00000000 l     O .rodata.str.0	0000001c str.0
00000000 l    d  .text._ZN110_$LT$piet_embedded_graphics..batch..RowIterator$LT$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0d92fa2681b5ec1fE	00000000 .text._ZN110_$LT$piet_embedded_graphics..batch..RowIterator$LT$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0d92fa2681b5ec1fE
00000000 l    d  .text._ZN110_$LT$piet_embedded_graphics..batch..RowIterator$LT$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ae6b94551f0193eE	00000000 .text._ZN110_$LT$piet_embedded_graphics..batch..RowIterator$LT$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ae6b94551f0193eE
00000000 l    d  .text._ZN112_$LT$piet_embedded_graphics..batch..BlockIterator$LT$R$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0fe048cd2eb9d1d9E	00000000 .text._ZN112_$LT$piet_embedded_graphics..batch..BlockIterator$LT$R$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0fe048cd2eb9d1d9E
00000000 l    d  .text._ZN112_$LT$piet_embedded_graphics..batch..BlockIterator$LT$R$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4ed630f6e4eec0dfE	00000000 .text._ZN112_$LT$piet_embedded_graphics..batch..BlockIterator$LT$R$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4ed630f6e4eec0dfE
00000000 l    d  .text._ZN22piet_embedded_graphics5batch11draw_blocks17h9208ca9c4360d35eE	00000000 .text._ZN22piet_embedded_graphics5batch11draw_blocks17h9208ca9c4360d35eE
00000000 l    d  .text._ZN22piet_embedded_graphics5batch11draw_blocks17hfc7945a3b860ce05E	00000000 .text._ZN22piet_embedded_graphics5batch11draw_blocks17hfc7945a3b860ce05E
00000000 l    d  .text._ZN22piet_embedded_graphics5batch7to_rows17h6ec1fe912a3d7235E	00000000 .text._ZN22piet_embedded_graphics5batch7to_rows17h6ec1fe912a3d7235E
00000000 l    d  .text._ZN22piet_embedded_graphics5batch7to_rows17hd7c8b15b4fae2078E	00000000 .text._ZN22piet_embedded_graphics5batch7to_rows17hd7c8b15b4fae2078E
00000000 l    d  .text._ZN22piet_embedded_graphics5batch9to_blocks17h6a822a4f95cbe618E	00000000 .text._ZN22piet_embedded_graphics5batch9to_blocks17h6a822a4f95cbe618E
00000000 l    d  .text._ZN22piet_embedded_graphics5batch9to_blocks17h6ec5af11f27a5a40E	00000000 .text._ZN22piet_embedded_graphics5batch9to_blocks17h6ec5af11f27a5a40E
00000000 l    d  .text._ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h4e0635c4bfd4be8bE	00000000 .text._ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h4e0635c4bfd4be8bE
00000000 l    d  .text._ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hb317975b656eac83E	00000000 .text._ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hb317975b656eac83E
00000000 l    d  .rodata..Lanon.d89ccf1d3db024534d089cf7ec2ccb0c.1	00000000 .rodata..Lanon.d89ccf1d3db024534d089cf7ec2ccb0c.1
00000000 l    d  .debug_loc	00000000 .debug_loc
00000000 l    d  .debug_abbrev	00000000 .debug_abbrev
00000000 l    d  .debug_info	00000000 .debug_info
00000000 l    d  .debug_ranges	00000000 .debug_ranges
00000000 l    d  .debug_frame	00000000 .debug_frame
00000000 l    d  .debug_line	00000000 .debug_line
00000000         *UND*	00000000 st7735_lcd::ST7735<SPI,DC,RST>::set_pixels
00000000 g     F .text._ZN110_$LT$piet_embedded_graphics..batch..RowIterator$LT$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0d92fa2681b5ec1fE	000002be <piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next
00000000 g     F .text._ZN110_$LT$piet_embedded_graphics..batch..RowIterator$LT$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ae6b94551f0193eE	000002be <piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next
00000000 g     F .text._ZN112_$LT$piet_embedded_graphics..batch..BlockIterator$LT$R$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0fe048cd2eb9d1d9E	000003b6 <piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next
00000000 g     F .text._ZN112_$LT$piet_embedded_graphics..batch..BlockIterator$LT$R$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4ed630f6e4eec0dfE	000003b6 <piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next
00000000         *UND*	00000000 <embedded_graphics::primitives::circle::Circle<C> as core::iter::traits::collect::IntoIterator>::into_iter
00000000         *UND*	00000000 <embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next
00000000         *UND*	00000000 <embedded_graphics::fonts::font_builder::FontBuilder<C,Conf> as core::iter::traits::collect::IntoIterator>::into_iter
00000000         *UND*	00000000 <embedded_graphics::fonts::font_builder::FontBuilderIterator<C,Conf> as core::iter::traits::iterator::Iterator>::next
00000000 g     F .text._ZN22piet_embedded_graphics5batch11draw_blocks17h9208ca9c4360d35eE	000001ce piet_embedded_graphics::batch::draw_blocks
00000000 g     F .text._ZN22piet_embedded_graphics5batch11draw_blocks17hfc7945a3b860ce05E	000001c6 piet_embedded_graphics::batch::draw_blocks
00000000 g     F .text._ZN22piet_embedded_graphics5batch7to_rows17h6ec1fe912a3d7235E	0000005e piet_embedded_graphics::batch::to_rows
00000000 g     F .text._ZN22piet_embedded_graphics5batch7to_rows17hd7c8b15b4fae2078E	0000005e piet_embedded_graphics::batch::to_rows
00000000 g     F .text._ZN22piet_embedded_graphics5batch9to_blocks17h6a822a4f95cbe618E	00000050 piet_embedded_graphics::batch::to_blocks
00000000 g     F .text._ZN22piet_embedded_graphics5batch9to_blocks17h6ec5af11f27a5a40E	00000050 piet_embedded_graphics::batch::to_blocks
00000000         *UND*	00000000 core::ptr::drop_in_place
00000000         *UND*	00000000 core::ptr::drop_in_place
00000000         *UND*	00000000 core::ptr::drop_in_place
00000000         *UND*	00000000 core::ptr::drop_in_place
00000000         *UND*	00000000 core::ptr::drop_in_place
00000000         *UND*	00000000 core::result::Result<T,E>::is_ok
00000000         *UND*	00000000 core::result::Result<T,E>::is_ok
00000000         *UND*	00000000 core::result::Result<T,E>::expect
00000000         *UND*	00000000 core::result::Result<T,E>::expect
00000000         *UND*	00000000 core::panicking::panic
00000000         *UND*	00000000 <T as core::convert::From<T>>::from
00000000 g     F .text._ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h4e0635c4bfd4be8bE	0000000c <I as core::iter::traits::collect::IntoIterator>::into_iter
00000000 g     F .text._ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hb317975b656eac83E	0000000c <I as core::iter::traits::collect::IntoIterator>::into_iter
00000000         *UND*	00000000 <heapless::vec::Vec<T,N> as core::clone::Clone>::clone
00000000         *UND*	00000000 <heapless::vec::Vec<T,N> as core::clone::Clone>::clone
00000000         *UND*	00000000 <core::result::Result<T,E> as core::ops::try::Try>::from_error
00000000         *UND*	00000000 <core::result::Result<T,E> as core::ops::try::Try>::into_result
00000000         *UND*	00000000 <heapless::vec::Vec<T,N> as core::ops::deref::Deref>::deref
00000000         *UND*	00000000 heapless::vec::Vec<T,N>::extend_from_slice
00000000         *UND*	00000000 heapless::vec::Vec<T,N>::new
00000000         *UND*	00000000 heapless::vec::Vec<T,N>::new
00000000         *UND*	00000000 heapless::vec::Vec<T,N>::push
00000000         *UND*	00000000 heapless::vec::Vec<T,N>::clear
00000000         *UND*	00000000 heapless::vec::Vec<T,N>::clear
00000000         *UND*	00000000 __aeabi_memcpy4



Disassembly of section .text._ZN110_$LT$piet_embedded_graphics..batch..RowIterator$LT$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0d92fa2681b5ec1fE:

00000000 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next>:
_ZN110_$LT$piet_embedded_graphics..batch..RowIterator$LT$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0d92fa2681b5ec1fE():
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:158
impl<P: Iterator<Item = Pixel<Rgb565>>> Iterator for RowIterator<P> {
    /// This Iterator returns Pixel Rows
    type Item = PixelRow;

    /// Return the next Pixel Row of contiguous pixels on the same row
    fn next(&mut self) -> Option<Self::Item> {
   0:	b580      	push	{r7, lr}
   2:	f5ad 7d40 	sub.w	sp, sp, #768	; 0x300
   6:	9116      	str	r1, [sp, #88]	; 0x58
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:160
        //  Loop over all pixels until we have composed a Pixel Row, or we have run out of pixels.
        loop {
   8:	9015      	str	r0, [sp, #84]	; 0x54
   a:	e7ff      	b.n	c <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0xc>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:162
            //  Get the next pixel.
            let next_pixel = self.pixels.next();
   c:	9916      	ldr	r1, [sp, #88]	; 0x58
   e:	a817      	add	r0, sp, #92	; 0x5c
  10:	f7ff fffe 	bl	0 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next>
  14:	e7ff      	b.n	16 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x16>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:164
            match next_pixel {
                None => {  //  If no more pixels...
  16:	9817      	ldr	r0, [sp, #92]	; 0x5c
  18:	2800      	cmp	r0, #0
  1a:	d002      	beq.n	22 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x22>
  1c:	e7ff      	b.n	1e <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x1e>
  1e:	e04e      	b.n	be <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0xbe>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:163
            match next_pixel {
  20:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:165
                    if self.first_pixel {
  22:	9816      	ldr	r0, [sp, #88]	; 0x58
  24:	f890 008b 	ldrb.w	r0, [r0, #139]	; 0x8b
  28:	07c0      	lsls	r0, r0, #31
  2a:	2800      	cmp	r0, #0
  2c:	d115      	bne.n	5a <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x5a>
  2e:	e7ff      	b.n	30 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x30>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:170
                        return None;  //  No pixels to group
                    }                    
                    //  Else return previous pixels as row.
                    let row = PixelRow {
                        x_left: self.x_left,
  30:	9816      	ldr	r0, [sp, #88]	; 0x58
  32:	f890 1088 	ldrb.w	r1, [r0, #136]	; 0x88
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:171
                        x_right: self.x_right,
  36:	f890 2089 	ldrb.w	r2, [r0, #137]	; 0x89
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:172
                        y: self.y,
  3a:	f890 308a 	ldrb.w	r3, [r0, #138]	; 0x8a
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:173
                        colors: self.colors.clone(),
  3e:	3020      	adds	r0, #32
  40:	f10d 0cd8 	add.w	ip, sp, #216	; 0xd8
  44:	9014      	str	r0, [sp, #80]	; 0x50
  46:	4660      	mov	r0, ip
  48:	f8dd c050 	ldr.w	ip, [sp, #80]	; 0x50
  4c:	9113      	str	r1, [sp, #76]	; 0x4c
  4e:	4661      	mov	r1, ip
  50:	9212      	str	r2, [sp, #72]	; 0x48
  52:	9311      	str	r3, [sp, #68]	; 0x44
  54:	f7ff fffe 	bl	0 <<heapless::vec::Vec<T,N> as core::clone::Clone>::clone>
  58:	e006      	b.n	68 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x68>
  5a:	2000      	movs	r0, #0
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:166
                        return None;  //  No pixels to group
  5c:	9915      	ldr	r1, [sp, #84]	; 0x54
  5e:	6008      	str	r0, [r1, #0]
  60:	e7ff      	b.n	62 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x62>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:219
                        .expect("never");
                    return Some(row);
                }
            }
        }
    }
  62:	f50d 7d40 	add.w	sp, sp, #768	; 0x300
  66:	bd80      	pop	{r7, pc}
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:169
                    let row = PixelRow {
  68:	9813      	ldr	r0, [sp, #76]	; 0x4c
  6a:	f88d 00d4 	strb.w	r0, [sp, #212]	; 0xd4
  6e:	9912      	ldr	r1, [sp, #72]	; 0x48
  70:	f88d 10d5 	strb.w	r1, [sp, #213]	; 0xd5
  74:	9a11      	ldr	r2, [sp, #68]	; 0x44
  76:	f88d 20d6 	strb.w	r2, [sp, #214]	; 0xd6
  7a:	a81b      	add	r0, sp, #108	; 0x6c
  7c:	a936      	add	r1, sp, #216	; 0xd8
  7e:	2268      	movs	r2, #104	; 0x68
  80:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:175
                    self.colors.clear();
  84:	9816      	ldr	r0, [sp, #88]	; 0x58
  86:	3020      	adds	r0, #32
  88:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::clear>
  8c:	e7ff      	b.n	8e <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x8e>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:176
                    self.first_pixel = true;
  8e:	9816      	ldr	r0, [sp, #88]	; 0x58
  90:	2101      	movs	r1, #1
  92:	f880 108b 	strb.w	r1, [r0, #139]	; 0x8b
  96:	a850      	add	r0, sp, #320	; 0x140
  98:	aa1b      	add	r2, sp, #108	; 0x6c
  9a:	236c      	movs	r3, #108	; 0x6c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:177
                    return Some(row);
  9c:	9010      	str	r0, [sp, #64]	; 0x40
  9e:	910f      	str	r1, [sp, #60]	; 0x3c
  a0:	4611      	mov	r1, r2
  a2:	461a      	mov	r2, r3
  a4:	930e      	str	r3, [sp, #56]	; 0x38
  a6:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  aa:	9815      	ldr	r0, [sp, #84]	; 0x54
  ac:	3004      	adds	r0, #4
  ae:	9910      	ldr	r1, [sp, #64]	; 0x40
  b0:	9a0e      	ldr	r2, [sp, #56]	; 0x38
  b2:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  b6:	980f      	ldr	r0, [sp, #60]	; 0x3c
  b8:	9915      	ldr	r1, [sp, #84]	; 0x54
  ba:	6008      	str	r0, [r1, #0]
  bc:	e7d1      	b.n	62 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x62>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:179
                Some(Pixel(coord, color)) => {  //  If there is a pixel...
  be:	9818      	ldr	r0, [sp, #96]	; 0x60
  c0:	9919      	ldr	r1, [sp, #100]	; 0x64
  c2:	906b      	str	r0, [sp, #428]	; 0x1ac
  c4:	916c      	str	r1, [sp, #432]	; 0x1b0
  c6:	f8bd 0068 	ldrh.w	r0, [sp, #104]	; 0x68
  ca:	f8ad 01b4 	strh.w	r0, [sp, #436]	; 0x1b4
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:180
                    let x = coord.0 as u8;
  ce:	986b      	ldr	r0, [sp, #428]	; 0x1ac
  d0:	f88d 01b6 	strb.w	r0, [sp, #438]	; 0x1b6
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:181
                    let y = coord.1 as u8;
  d4:	986c      	ldr	r0, [sp, #432]	; 0x1b0
  d6:	f88d 01b7 	strb.w	r0, [sp, #439]	; 0x1b7
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:182
                    let color = color.0;
  da:	f8bd 01b4 	ldrh.w	r0, [sp, #436]	; 0x1b4
  de:	f8ad 01b8 	strh.w	r0, [sp, #440]	; 0x1b8
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:184
                    if self.first_pixel {
  e2:	9816      	ldr	r0, [sp, #88]	; 0x58
  e4:	f890 008b 	ldrb.w	r0, [r0, #139]	; 0x8b
  e8:	07c0      	lsls	r0, r0, #31
  ea:	2800      	cmp	r0, #0
  ec:	d10e      	bne.n	10c <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x10c>
  ee:	e7ff      	b.n	f0 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0xf0>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:195
                    if x == self.x_right + 1 && y == self.y {
  f0:	f89d 01b6 	ldrb.w	r0, [sp, #438]	; 0x1b6
  f4:	9916      	ldr	r1, [sp, #88]	; 0x58
  f6:	f891 1089 	ldrb.w	r1, [r1, #137]	; 0x89
  fa:	3101      	adds	r1, #1
  fc:	b2ca      	uxtb	r2, r1
  fe:	460b      	mov	r3, r1
 100:	428a      	cmp	r2, r1
 102:	900d      	str	r0, [sp, #52]	; 0x34
 104:	930c      	str	r3, [sp, #48]	; 0x30
 106:	f040 80ce 	bne.w	2a6 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x2a6>
 10a:	e048      	b.n	19e <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x19e>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:185
                        self.first_pixel = false;
 10c:	9816      	ldr	r0, [sp, #88]	; 0x58
 10e:	2100      	movs	r1, #0
 110:	f880 108b 	strb.w	r1, [r0, #139]	; 0x8b
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:186
                        self.x_left = x;
 114:	f89d 01b6 	ldrb.w	r0, [sp, #438]	; 0x1b6
 118:	9916      	ldr	r1, [sp, #88]	; 0x58
 11a:	f881 0088 	strb.w	r0, [r1, #136]	; 0x88
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:187
                        self.x_right = x;
 11e:	f89d 01b6 	ldrb.w	r0, [sp, #438]	; 0x1b6
 122:	9916      	ldr	r1, [sp, #88]	; 0x58
 124:	f881 0089 	strb.w	r0, [r1, #137]	; 0x89
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:188
                        self.y = y;
 128:	f89d 01b7 	ldrb.w	r0, [sp, #439]	; 0x1b7
 12c:	9916      	ldr	r1, [sp, #88]	; 0x58
 12e:	f881 008a 	strb.w	r0, [r1, #138]	; 0x8a
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:189
                        self.colors.clear();
 132:	9816      	ldr	r0, [sp, #88]	; 0x58
 134:	3020      	adds	r0, #32
 136:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::clear>
 13a:	e7ff      	b.n	13c <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x13c>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:190
                        self.colors.push(color)
 13c:	9816      	ldr	r0, [sp, #88]	; 0x58
 13e:	3020      	adds	r0, #32
 140:	f8bd 11b8 	ldrh.w	r1, [sp, #440]	; 0x1b8
 144:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::push>
 148:	900b      	str	r0, [sp, #44]	; 0x2c
 14a:	910a      	str	r1, [sp, #40]	; 0x28
 14c:	e7ff      	b.n	14e <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x14e>
 14e:	f240 0000 	movw	r0, #0
 152:	f2c0 0000 	movt	r0, #0
 156:	4669      	mov	r1, sp
 158:	6008      	str	r0, [r1, #0]
 15a:	f240 0200 	movw	r2, #0
 15e:	f2c0 0200 	movt	r2, #0
 162:	2305      	movs	r3, #5
 164:	980b      	ldr	r0, [sp, #44]	; 0x2c
 166:	990a      	ldr	r1, [sp, #40]	; 0x28
 168:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
 16c:	e7ff      	b.n	16e <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x16e>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:192
                        continue;
 16e:	e7ff      	b.n	170 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x170>
 170:	e74c      	b.n	c <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0xc>
 172:	2001      	movs	r0, #1
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:195
                    if x == self.x_right + 1 && y == self.y {
 174:	f88d 01bb 	strb.w	r0, [sp, #443]	; 0x1bb
 178:	e00b      	b.n	192 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x192>
 17a:	2000      	movs	r0, #0
 17c:	f88d 01bb 	strb.w	r0, [sp, #443]	; 0x1bb
 180:	e007      	b.n	192 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x192>
 182:	f89d 01b7 	ldrb.w	r0, [sp, #439]	; 0x1b7
 186:	9916      	ldr	r1, [sp, #88]	; 0x58
 188:	f891 108a 	ldrb.w	r1, [r1, #138]	; 0x8a
 18c:	4288      	cmp	r0, r1
 18e:	d0f0      	beq.n	172 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x172>
 190:	e7f3      	b.n	17a <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x17a>
 192:	f89d 01bb 	ldrb.w	r0, [sp, #443]	; 0x1bb
 196:	07c0      	lsls	r0, r0, #31
 198:	2800      	cmp	r0, #0
 19a:	d107      	bne.n	1ac <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x1ac>
 19c:	e022      	b.n	1e4 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x1e4>
 19e:	980c      	ldr	r0, [sp, #48]	; 0x30
 1a0:	b2c1      	uxtb	r1, r0
 1a2:	9a0d      	ldr	r2, [sp, #52]	; 0x34
 1a4:	b2d3      	uxtb	r3, r2
 1a6:	428b      	cmp	r3, r1
 1a8:	d0eb      	beq.n	182 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x182>
 1aa:	e7e6      	b.n	17a <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x17a>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:196
                        if self.colors.push(color).is_ok() {
 1ac:	9816      	ldr	r0, [sp, #88]	; 0x58
 1ae:	3020      	adds	r0, #32
 1b0:	f8bd 11b8 	ldrh.w	r1, [sp, #440]	; 0x1b8
 1b4:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::push>
 1b8:	f8ad 11be 	strh.w	r1, [sp, #446]	; 0x1be
 1bc:	f8ad 01bc 	strh.w	r0, [sp, #444]	; 0x1bc
 1c0:	e7ff      	b.n	1c2 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x1c2>
 1c2:	a86f      	add	r0, sp, #444	; 0x1bc
 1c4:	f7ff fffe 	bl	0 <core::result::Result<T,E>::is_ok>
 1c8:	9009      	str	r0, [sp, #36]	; 0x24
 1ca:	e7ff      	b.n	1cc <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x1cc>
 1cc:	9809      	ldr	r0, [sp, #36]	; 0x24
 1ce:	07c1      	lsls	r1, r0, #31
 1d0:	2900      	cmp	r1, #0
 1d2:	d101      	bne.n	1d8 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x1d8>
 1d4:	e7ff      	b.n	1d6 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x1d6>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:195
                    if x == self.x_right + 1 && y == self.y {
 1d6:	e005      	b.n	1e4 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x1e4>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:198
                            self.x_right = x;
 1d8:	f89d 01b6 	ldrb.w	r0, [sp, #438]	; 0x1b6
 1dc:	9916      	ldr	r1, [sp, #88]	; 0x58
 1de:	f881 0089 	strb.w	r0, [r1, #137]	; 0x89
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:199
                            continue;
 1e2:	e7c5      	b.n	170 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x170>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:204
                        x_left: self.x_left,
 1e4:	9816      	ldr	r0, [sp, #88]	; 0x58
 1e6:	f890 1088 	ldrb.w	r1, [r0, #136]	; 0x88
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:205
                        x_right: self.x_right,
 1ea:	f890 2089 	ldrb.w	r2, [r0, #137]	; 0x89
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:206
                        y: self.y,
 1ee:	f890 308a 	ldrb.w	r3, [r0, #138]	; 0x8a
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:207
                        colors: self.colors.clone(),
 1f2:	3020      	adds	r0, #32
 1f4:	f50d 7c0b 	add.w	ip, sp, #556	; 0x22c
 1f8:	9008      	str	r0, [sp, #32]
 1fa:	4660      	mov	r0, ip
 1fc:	f8dd c020 	ldr.w	ip, [sp, #32]
 200:	9107      	str	r1, [sp, #28]
 202:	4661      	mov	r1, ip
 204:	9206      	str	r2, [sp, #24]
 206:	9305      	str	r3, [sp, #20]
 208:	f7ff fffe 	bl	0 <<heapless::vec::Vec<T,N> as core::clone::Clone>::clone>
 20c:	e7ff      	b.n	20e <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x20e>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:203
                    let row = PixelRow {
 20e:	9807      	ldr	r0, [sp, #28]
 210:	f88d 0228 	strb.w	r0, [sp, #552]	; 0x228
 214:	9906      	ldr	r1, [sp, #24]
 216:	f88d 1229 	strb.w	r1, [sp, #553]	; 0x229
 21a:	9a05      	ldr	r2, [sp, #20]
 21c:	f88d 222a 	strb.w	r2, [sp, #554]	; 0x22a
 220:	a870      	add	r0, sp, #448	; 0x1c0
 222:	a98b      	add	r1, sp, #556	; 0x22c
 224:	2268      	movs	r2, #104	; 0x68
 226:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:209
                    self.x_left = x;
 22a:	f89d 01b6 	ldrb.w	r0, [sp, #438]	; 0x1b6
 22e:	9916      	ldr	r1, [sp, #88]	; 0x58
 230:	f881 0088 	strb.w	r0, [r1, #136]	; 0x88
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:210
                    self.x_right = x;
 234:	f89d 01b6 	ldrb.w	r0, [sp, #438]	; 0x1b6
 238:	9916      	ldr	r1, [sp, #88]	; 0x58
 23a:	f881 0089 	strb.w	r0, [r1, #137]	; 0x89
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:211
                    self.y = y;
 23e:	f89d 01b7 	ldrb.w	r0, [sp, #439]	; 0x1b7
 242:	9916      	ldr	r1, [sp, #88]	; 0x58
 244:	f881 008a 	strb.w	r0, [r1, #138]	; 0x8a
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:212
                    self.colors.clear();
 248:	9816      	ldr	r0, [sp, #88]	; 0x58
 24a:	3020      	adds	r0, #32
 24c:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::clear>
 250:	e7ff      	b.n	252 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x252>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:213
                    self.colors.push(color)
 252:	9816      	ldr	r0, [sp, #88]	; 0x58
 254:	3020      	adds	r0, #32
 256:	f8bd 11b8 	ldrh.w	r1, [sp, #440]	; 0x1b8
 25a:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::push>
 25e:	9004      	str	r0, [sp, #16]
 260:	9103      	str	r1, [sp, #12]
 262:	e7ff      	b.n	264 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x264>
 264:	f240 0000 	movw	r0, #0
 268:	f2c0 0000 	movt	r0, #0
 26c:	4669      	mov	r1, sp
 26e:	6008      	str	r0, [r1, #0]
 270:	f240 0200 	movw	r2, #0
 274:	f2c0 0200 	movt	r2, #0
 278:	2305      	movs	r3, #5
 27a:	9804      	ldr	r0, [sp, #16]
 27c:	9903      	ldr	r1, [sp, #12]
 27e:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
 282:	e7ff      	b.n	284 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x284>
 284:	a8a5      	add	r0, sp, #660	; 0x294
 286:	a970      	add	r1, sp, #448	; 0x1c0
 288:	226c      	movs	r2, #108	; 0x6c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:215
                    return Some(row);
 28a:	9002      	str	r0, [sp, #8]
 28c:	9201      	str	r2, [sp, #4]
 28e:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
 292:	9815      	ldr	r0, [sp, #84]	; 0x54
 294:	3004      	adds	r0, #4
 296:	9902      	ldr	r1, [sp, #8]
 298:	9a01      	ldr	r2, [sp, #4]
 29a:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
 29e:	2001      	movs	r0, #1
 2a0:	9915      	ldr	r1, [sp, #84]	; 0x54
 2a2:	6008      	str	r0, [r1, #0]
 2a4:	e6dd      	b.n	62 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x62>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:195
                    if x == self.x_right + 1 && y == self.y {
 2a6:	f240 0000 	movw	r0, #0
 2aa:	f2c0 0000 	movt	r0, #0
 2ae:	f240 0200 	movw	r2, #0
 2b2:	f2c0 0200 	movt	r2, #0
 2b6:	211c      	movs	r1, #28
 2b8:	f7ff fffe 	bl	0 <core::panicking::panic>
 2bc:	defe      	udf	#254	; 0xfe

Disassembly of section .text._ZN110_$LT$piet_embedded_graphics..batch..RowIterator$LT$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ae6b94551f0193eE:

00000000 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next>:
_ZN110_$LT$piet_embedded_graphics..batch..RowIterator$LT$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h9ae6b94551f0193eE():
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:158
    fn next(&mut self) -> Option<Self::Item> {
   0:	b580      	push	{r7, lr}
   2:	f5ad 7d40 	sub.w	sp, sp, #768	; 0x300
   6:	9116      	str	r1, [sp, #88]	; 0x58
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:160
        loop {
   8:	9015      	str	r0, [sp, #84]	; 0x54
   a:	e7ff      	b.n	c <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0xc>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:162
            let next_pixel = self.pixels.next();
   c:	9916      	ldr	r1, [sp, #88]	; 0x58
   e:	a817      	add	r0, sp, #92	; 0x5c
  10:	f7ff fffe 	bl	0 <<embedded_graphics::fonts::font_builder::FontBuilderIterator<C,Conf> as core::iter::traits::iterator::Iterator>::next>
  14:	e7ff      	b.n	16 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x16>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:164
                None => {  //  If no more pixels...
  16:	9817      	ldr	r0, [sp, #92]	; 0x5c
  18:	2800      	cmp	r0, #0
  1a:	d002      	beq.n	22 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x22>
  1c:	e7ff      	b.n	1e <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x1e>
  1e:	e04e      	b.n	be <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0xbe>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:163
            match next_pixel {
  20:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:165
                    if self.first_pixel {
  22:	9816      	ldr	r0, [sp, #88]	; 0x58
  24:	f890 0097 	ldrb.w	r0, [r0, #151]	; 0x97
  28:	07c0      	lsls	r0, r0, #31
  2a:	2800      	cmp	r0, #0
  2c:	d115      	bne.n	5a <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x5a>
  2e:	e7ff      	b.n	30 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x30>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:170
                        x_left: self.x_left,
  30:	9816      	ldr	r0, [sp, #88]	; 0x58
  32:	f890 1094 	ldrb.w	r1, [r0, #148]	; 0x94
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:171
                        x_right: self.x_right,
  36:	f890 2095 	ldrb.w	r2, [r0, #149]	; 0x95
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:172
                        y: self.y,
  3a:	f890 3096 	ldrb.w	r3, [r0, #150]	; 0x96
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:173
                        colors: self.colors.clone(),
  3e:	302c      	adds	r0, #44	; 0x2c
  40:	f10d 0cd8 	add.w	ip, sp, #216	; 0xd8
  44:	9014      	str	r0, [sp, #80]	; 0x50
  46:	4660      	mov	r0, ip
  48:	f8dd c050 	ldr.w	ip, [sp, #80]	; 0x50
  4c:	9113      	str	r1, [sp, #76]	; 0x4c
  4e:	4661      	mov	r1, ip
  50:	9212      	str	r2, [sp, #72]	; 0x48
  52:	9311      	str	r3, [sp, #68]	; 0x44
  54:	f7ff fffe 	bl	0 <<heapless::vec::Vec<T,N> as core::clone::Clone>::clone>
  58:	e006      	b.n	68 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x68>
  5a:	2000      	movs	r0, #0
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:166
                        return None;  //  No pixels to group
  5c:	9915      	ldr	r1, [sp, #84]	; 0x54
  5e:	6008      	str	r0, [r1, #0]
  60:	e7ff      	b.n	62 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x62>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:219
    }
  62:	f50d 7d40 	add.w	sp, sp, #768	; 0x300
  66:	bd80      	pop	{r7, pc}
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:169
                    let row = PixelRow {
  68:	9813      	ldr	r0, [sp, #76]	; 0x4c
  6a:	f88d 00d4 	strb.w	r0, [sp, #212]	; 0xd4
  6e:	9912      	ldr	r1, [sp, #72]	; 0x48
  70:	f88d 10d5 	strb.w	r1, [sp, #213]	; 0xd5
  74:	9a11      	ldr	r2, [sp, #68]	; 0x44
  76:	f88d 20d6 	strb.w	r2, [sp, #214]	; 0xd6
  7a:	a81b      	add	r0, sp, #108	; 0x6c
  7c:	a936      	add	r1, sp, #216	; 0xd8
  7e:	2268      	movs	r2, #104	; 0x68
  80:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:175
                    self.colors.clear();
  84:	9816      	ldr	r0, [sp, #88]	; 0x58
  86:	302c      	adds	r0, #44	; 0x2c
  88:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::clear>
  8c:	e7ff      	b.n	8e <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x8e>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:176
                    self.first_pixel = true;
  8e:	9816      	ldr	r0, [sp, #88]	; 0x58
  90:	2101      	movs	r1, #1
  92:	f880 1097 	strb.w	r1, [r0, #151]	; 0x97
  96:	a850      	add	r0, sp, #320	; 0x140
  98:	aa1b      	add	r2, sp, #108	; 0x6c
  9a:	236c      	movs	r3, #108	; 0x6c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:177
                    return Some(row);
  9c:	9010      	str	r0, [sp, #64]	; 0x40
  9e:	910f      	str	r1, [sp, #60]	; 0x3c
  a0:	4611      	mov	r1, r2
  a2:	461a      	mov	r2, r3
  a4:	930e      	str	r3, [sp, #56]	; 0x38
  a6:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  aa:	9815      	ldr	r0, [sp, #84]	; 0x54
  ac:	3004      	adds	r0, #4
  ae:	9910      	ldr	r1, [sp, #64]	; 0x40
  b0:	9a0e      	ldr	r2, [sp, #56]	; 0x38
  b2:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  b6:	980f      	ldr	r0, [sp, #60]	; 0x3c
  b8:	9915      	ldr	r1, [sp, #84]	; 0x54
  ba:	6008      	str	r0, [r1, #0]
  bc:	e7d1      	b.n	62 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x62>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:179
                Some(Pixel(coord, color)) => {  //  If there is a pixel...
  be:	9818      	ldr	r0, [sp, #96]	; 0x60
  c0:	9919      	ldr	r1, [sp, #100]	; 0x64
  c2:	906b      	str	r0, [sp, #428]	; 0x1ac
  c4:	916c      	str	r1, [sp, #432]	; 0x1b0
  c6:	f8bd 0068 	ldrh.w	r0, [sp, #104]	; 0x68
  ca:	f8ad 01b4 	strh.w	r0, [sp, #436]	; 0x1b4
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:180
                    let x = coord.0 as u8;
  ce:	986b      	ldr	r0, [sp, #428]	; 0x1ac
  d0:	f88d 01b6 	strb.w	r0, [sp, #438]	; 0x1b6
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:181
                    let y = coord.1 as u8;
  d4:	986c      	ldr	r0, [sp, #432]	; 0x1b0
  d6:	f88d 01b7 	strb.w	r0, [sp, #439]	; 0x1b7
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:182
                    let color = color.0;
  da:	f8bd 01b4 	ldrh.w	r0, [sp, #436]	; 0x1b4
  de:	f8ad 01b8 	strh.w	r0, [sp, #440]	; 0x1b8
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:184
                    if self.first_pixel {
  e2:	9816      	ldr	r0, [sp, #88]	; 0x58
  e4:	f890 0097 	ldrb.w	r0, [r0, #151]	; 0x97
  e8:	07c0      	lsls	r0, r0, #31
  ea:	2800      	cmp	r0, #0
  ec:	d10e      	bne.n	10c <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x10c>
  ee:	e7ff      	b.n	f0 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0xf0>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:195
                    if x == self.x_right + 1 && y == self.y {
  f0:	f89d 01b6 	ldrb.w	r0, [sp, #438]	; 0x1b6
  f4:	9916      	ldr	r1, [sp, #88]	; 0x58
  f6:	f891 1095 	ldrb.w	r1, [r1, #149]	; 0x95
  fa:	3101      	adds	r1, #1
  fc:	b2ca      	uxtb	r2, r1
  fe:	460b      	mov	r3, r1
 100:	428a      	cmp	r2, r1
 102:	900d      	str	r0, [sp, #52]	; 0x34
 104:	930c      	str	r3, [sp, #48]	; 0x30
 106:	f040 80ce 	bne.w	2a6 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x2a6>
 10a:	e048      	b.n	19e <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x19e>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:185
                        self.first_pixel = false;
 10c:	9816      	ldr	r0, [sp, #88]	; 0x58
 10e:	2100      	movs	r1, #0
 110:	f880 1097 	strb.w	r1, [r0, #151]	; 0x97
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:186
                        self.x_left = x;
 114:	f89d 01b6 	ldrb.w	r0, [sp, #438]	; 0x1b6
 118:	9916      	ldr	r1, [sp, #88]	; 0x58
 11a:	f881 0094 	strb.w	r0, [r1, #148]	; 0x94
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:187
                        self.x_right = x;
 11e:	f89d 01b6 	ldrb.w	r0, [sp, #438]	; 0x1b6
 122:	9916      	ldr	r1, [sp, #88]	; 0x58
 124:	f881 0095 	strb.w	r0, [r1, #149]	; 0x95
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:188
                        self.y = y;
 128:	f89d 01b7 	ldrb.w	r0, [sp, #439]	; 0x1b7
 12c:	9916      	ldr	r1, [sp, #88]	; 0x58
 12e:	f881 0096 	strb.w	r0, [r1, #150]	; 0x96
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:189
                        self.colors.clear();
 132:	9816      	ldr	r0, [sp, #88]	; 0x58
 134:	302c      	adds	r0, #44	; 0x2c
 136:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::clear>
 13a:	e7ff      	b.n	13c <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x13c>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:190
                        self.colors.push(color)
 13c:	9816      	ldr	r0, [sp, #88]	; 0x58
 13e:	302c      	adds	r0, #44	; 0x2c
 140:	f8bd 11b8 	ldrh.w	r1, [sp, #440]	; 0x1b8
 144:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::push>
 148:	900b      	str	r0, [sp, #44]	; 0x2c
 14a:	910a      	str	r1, [sp, #40]	; 0x28
 14c:	e7ff      	b.n	14e <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x14e>
 14e:	f240 0000 	movw	r0, #0
 152:	f2c0 0000 	movt	r0, #0
 156:	4669      	mov	r1, sp
 158:	6008      	str	r0, [r1, #0]
 15a:	f240 0200 	movw	r2, #0
 15e:	f2c0 0200 	movt	r2, #0
 162:	2305      	movs	r3, #5
 164:	980b      	ldr	r0, [sp, #44]	; 0x2c
 166:	990a      	ldr	r1, [sp, #40]	; 0x28
 168:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
 16c:	e7ff      	b.n	16e <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x16e>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:192
                        continue;
 16e:	e7ff      	b.n	170 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x170>
 170:	e74c      	b.n	c <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0xc>
 172:	2001      	movs	r0, #1
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:195
                    if x == self.x_right + 1 && y == self.y {
 174:	f88d 01bb 	strb.w	r0, [sp, #443]	; 0x1bb
 178:	e00b      	b.n	192 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x192>
 17a:	2000      	movs	r0, #0
 17c:	f88d 01bb 	strb.w	r0, [sp, #443]	; 0x1bb
 180:	e007      	b.n	192 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x192>
 182:	f89d 01b7 	ldrb.w	r0, [sp, #439]	; 0x1b7
 186:	9916      	ldr	r1, [sp, #88]	; 0x58
 188:	f891 1096 	ldrb.w	r1, [r1, #150]	; 0x96
 18c:	4288      	cmp	r0, r1
 18e:	d0f0      	beq.n	172 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x172>
 190:	e7f3      	b.n	17a <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x17a>
 192:	f89d 01bb 	ldrb.w	r0, [sp, #443]	; 0x1bb
 196:	07c0      	lsls	r0, r0, #31
 198:	2800      	cmp	r0, #0
 19a:	d107      	bne.n	1ac <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x1ac>
 19c:	e022      	b.n	1e4 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x1e4>
 19e:	980c      	ldr	r0, [sp, #48]	; 0x30
 1a0:	b2c1      	uxtb	r1, r0
 1a2:	9a0d      	ldr	r2, [sp, #52]	; 0x34
 1a4:	b2d3      	uxtb	r3, r2
 1a6:	428b      	cmp	r3, r1
 1a8:	d0eb      	beq.n	182 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x182>
 1aa:	e7e6      	b.n	17a <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x17a>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:196
                        if self.colors.push(color).is_ok() {
 1ac:	9816      	ldr	r0, [sp, #88]	; 0x58
 1ae:	302c      	adds	r0, #44	; 0x2c
 1b0:	f8bd 11b8 	ldrh.w	r1, [sp, #440]	; 0x1b8
 1b4:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::push>
 1b8:	f8ad 11be 	strh.w	r1, [sp, #446]	; 0x1be
 1bc:	f8ad 01bc 	strh.w	r0, [sp, #444]	; 0x1bc
 1c0:	e7ff      	b.n	1c2 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x1c2>
 1c2:	a86f      	add	r0, sp, #444	; 0x1bc
 1c4:	f7ff fffe 	bl	0 <core::result::Result<T,E>::is_ok>
 1c8:	9009      	str	r0, [sp, #36]	; 0x24
 1ca:	e7ff      	b.n	1cc <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x1cc>
 1cc:	9809      	ldr	r0, [sp, #36]	; 0x24
 1ce:	07c1      	lsls	r1, r0, #31
 1d0:	2900      	cmp	r1, #0
 1d2:	d101      	bne.n	1d8 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x1d8>
 1d4:	e7ff      	b.n	1d6 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x1d6>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:195
                    if x == self.x_right + 1 && y == self.y {
 1d6:	e005      	b.n	1e4 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x1e4>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:198
                            self.x_right = x;
 1d8:	f89d 01b6 	ldrb.w	r0, [sp, #438]	; 0x1b6
 1dc:	9916      	ldr	r1, [sp, #88]	; 0x58
 1de:	f881 0095 	strb.w	r0, [r1, #149]	; 0x95
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:199
                            continue;
 1e2:	e7c5      	b.n	170 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x170>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:204
                        x_left: self.x_left,
 1e4:	9816      	ldr	r0, [sp, #88]	; 0x58
 1e6:	f890 1094 	ldrb.w	r1, [r0, #148]	; 0x94
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:205
                        x_right: self.x_right,
 1ea:	f890 2095 	ldrb.w	r2, [r0, #149]	; 0x95
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:206
                        y: self.y,
 1ee:	f890 3096 	ldrb.w	r3, [r0, #150]	; 0x96
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:207
                        colors: self.colors.clone(),
 1f2:	302c      	adds	r0, #44	; 0x2c
 1f4:	f50d 7c0b 	add.w	ip, sp, #556	; 0x22c
 1f8:	9008      	str	r0, [sp, #32]
 1fa:	4660      	mov	r0, ip
 1fc:	f8dd c020 	ldr.w	ip, [sp, #32]
 200:	9107      	str	r1, [sp, #28]
 202:	4661      	mov	r1, ip
 204:	9206      	str	r2, [sp, #24]
 206:	9305      	str	r3, [sp, #20]
 208:	f7ff fffe 	bl	0 <<heapless::vec::Vec<T,N> as core::clone::Clone>::clone>
 20c:	e7ff      	b.n	20e <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x20e>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:203
                    let row = PixelRow {
 20e:	9807      	ldr	r0, [sp, #28]
 210:	f88d 0228 	strb.w	r0, [sp, #552]	; 0x228
 214:	9906      	ldr	r1, [sp, #24]
 216:	f88d 1229 	strb.w	r1, [sp, #553]	; 0x229
 21a:	9a05      	ldr	r2, [sp, #20]
 21c:	f88d 222a 	strb.w	r2, [sp, #554]	; 0x22a
 220:	a870      	add	r0, sp, #448	; 0x1c0
 222:	a98b      	add	r1, sp, #556	; 0x22c
 224:	2268      	movs	r2, #104	; 0x68
 226:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:209
                    self.x_left = x;
 22a:	f89d 01b6 	ldrb.w	r0, [sp, #438]	; 0x1b6
 22e:	9916      	ldr	r1, [sp, #88]	; 0x58
 230:	f881 0094 	strb.w	r0, [r1, #148]	; 0x94
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:210
                    self.x_right = x;
 234:	f89d 01b6 	ldrb.w	r0, [sp, #438]	; 0x1b6
 238:	9916      	ldr	r1, [sp, #88]	; 0x58
 23a:	f881 0095 	strb.w	r0, [r1, #149]	; 0x95
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:211
                    self.y = y;
 23e:	f89d 01b7 	ldrb.w	r0, [sp, #439]	; 0x1b7
 242:	9916      	ldr	r1, [sp, #88]	; 0x58
 244:	f881 0096 	strb.w	r0, [r1, #150]	; 0x96
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:212
                    self.colors.clear();
 248:	9816      	ldr	r0, [sp, #88]	; 0x58
 24a:	302c      	adds	r0, #44	; 0x2c
 24c:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::clear>
 250:	e7ff      	b.n	252 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x252>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:213
                    self.colors.push(color)
 252:	9816      	ldr	r0, [sp, #88]	; 0x58
 254:	302c      	adds	r0, #44	; 0x2c
 256:	f8bd 11b8 	ldrh.w	r1, [sp, #440]	; 0x1b8
 25a:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::push>
 25e:	9004      	str	r0, [sp, #16]
 260:	9103      	str	r1, [sp, #12]
 262:	e7ff      	b.n	264 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x264>
 264:	f240 0000 	movw	r0, #0
 268:	f2c0 0000 	movt	r0, #0
 26c:	4669      	mov	r1, sp
 26e:	6008      	str	r0, [r1, #0]
 270:	f240 0200 	movw	r2, #0
 274:	f2c0 0200 	movt	r2, #0
 278:	2305      	movs	r3, #5
 27a:	9804      	ldr	r0, [sp, #16]
 27c:	9903      	ldr	r1, [sp, #12]
 27e:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
 282:	e7ff      	b.n	284 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x284>
 284:	a8a5      	add	r0, sp, #660	; 0x294
 286:	a970      	add	r1, sp, #448	; 0x1c0
 288:	226c      	movs	r2, #108	; 0x6c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:215
                    return Some(row);
 28a:	9002      	str	r0, [sp, #8]
 28c:	9201      	str	r2, [sp, #4]
 28e:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
 292:	9815      	ldr	r0, [sp, #84]	; 0x54
 294:	3004      	adds	r0, #4
 296:	9902      	ldr	r1, [sp, #8]
 298:	9a01      	ldr	r2, [sp, #4]
 29a:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
 29e:	2001      	movs	r0, #1
 2a0:	9915      	ldr	r1, [sp, #84]	; 0x54
 2a2:	6008      	str	r0, [r1, #0]
 2a4:	e6dd      	b.n	62 <<piet_embedded_graphics::batch::RowIterator<P> as core::iter::traits::iterator::Iterator>::next+0x62>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:195
                    if x == self.x_right + 1 && y == self.y {
 2a6:	f240 0000 	movw	r0, #0
 2aa:	f2c0 0000 	movt	r0, #0
 2ae:	f240 0200 	movw	r2, #0
 2b2:	f2c0 0200 	movt	r2, #0
 2b6:	211c      	movs	r1, #28
 2b8:	f7ff fffe 	bl	0 <core::panicking::panic>
 2bc:	defe      	udf	#254	; 0xfe

Disassembly of section .text._ZN112_$LT$piet_embedded_graphics..batch..BlockIterator$LT$R$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0fe048cd2eb9d1d9E:

00000000 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next>:
_ZN112_$LT$piet_embedded_graphics..batch..BlockIterator$LT$R$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0fe048cd2eb9d1d9E():
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:229
impl<R: Iterator<Item = PixelRow>> Iterator for BlockIterator<R> {
    /// This Iterator returns Pixel Blocks
    type Item = PixelBlock;

    /// Return the next Pixel Block of contiguous Pixel Rows with the same start and end column number
    fn next(&mut self) -> Option<Self::Item> {
   0:	b580      	push	{r7, lr}
   2:	f5ad 6dc7 	sub.w	sp, sp, #1592	; 0x638
   6:	911e      	str	r1, [sp, #120]	; 0x78
   8:	2100      	movs	r1, #0
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:231
        //  Loop over all Pixel Rows until we have composed a Pixel Block, or we have run out of Pixel Rows.
        loop {
   a:	f88d 1637 	strb.w	r1, [sp, #1591]	; 0x637
   e:	901d      	str	r0, [sp, #116]	; 0x74
  10:	e7ff      	b.n	12 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x12>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:233
            //  Get the next Pixel Row.
            let next_row = self.rows.next();
  12:	991e      	ldr	r1, [sp, #120]	; 0x78
  14:	2001      	movs	r0, #1
  16:	f88d 0637 	strb.w	r0, [sp, #1591]	; 0x637
  1a:	a81f      	add	r0, sp, #124	; 0x7c
  1c:	f7ff fffe 	bl	0 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next>
  20:	e7ff      	b.n	22 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x22>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:235
            match next_row {
                None => {  //  If no more Pixel Rows...
  22:	981f      	ldr	r0, [sp, #124]	; 0x7c
  24:	2800      	cmp	r0, #0
  26:	d002      	beq.n	2e <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x2e>
  28:	e7ff      	b.n	2a <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x2a>
  2a:	e052      	b.n	d2 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0xd2>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:234
            match next_row {
  2c:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:236
                    if self.first_row {
  2e:	981e      	ldr	r0, [sp, #120]	; 0x78
  30:	f890 015c 	ldrb.w	r0, [r0, #348]	; 0x15c
  34:	07c0      	lsls	r0, r0, #31
  36:	2800      	cmp	r0, #0
  38:	d119      	bne.n	6e <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x6e>
  3a:	e7ff      	b.n	3c <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x3c>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:241
                        return None;  //  No rows to group
                    }                    
                    //  Else return previous rows as block.
                    let row = PixelBlock {
                        x_left: self.x_left,
  3c:	981e      	ldr	r0, [sp, #120]	; 0x78
  3e:	f890 1158 	ldrb.w	r1, [r0, #344]	; 0x158
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:242
                        x_right: self.x_right,
  42:	f890 2159 	ldrb.w	r2, [r0, #345]	; 0x159
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:243
                        y_top: self.y_top,
  46:	f890 315a 	ldrb.w	r3, [r0, #346]	; 0x15a
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:244
                        y_bottom: self.y_bottom,
  4a:	f890 c15b 	ldrb.w	ip, [r0, #347]	; 0x15b
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:245
                        colors: self.colors.clone(),
  4e:	308c      	adds	r0, #140	; 0x8c
  50:	f50d 7ede 	add.w	lr, sp, #444	; 0x1bc
  54:	901c      	str	r0, [sp, #112]	; 0x70
  56:	4670      	mov	r0, lr
  58:	f8dd e070 	ldr.w	lr, [sp, #112]	; 0x70
  5c:	911b      	str	r1, [sp, #108]	; 0x6c
  5e:	4671      	mov	r1, lr
  60:	921a      	str	r2, [sp, #104]	; 0x68
  62:	9319      	str	r3, [sp, #100]	; 0x64
  64:	f8cd c060 	str.w	ip, [sp, #96]	; 0x60
  68:	f7ff fffe 	bl	0 <<heapless::vec::Vec<T,N> as core::clone::Clone>::clone>
  6c:	e003      	b.n	76 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x76>
  6e:	2000      	movs	r0, #0
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:237
                        return None;  //  No rows to group
  70:	991d      	ldr	r1, [sp, #116]	; 0x74
  72:	6008      	str	r0, [r1, #0]
  74:	e187      	b.n	386 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x386>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:240
                    let row = PixelBlock {
  76:	981b      	ldr	r0, [sp, #108]	; 0x6c
  78:	f88d 01b8 	strb.w	r0, [sp, #440]	; 0x1b8
  7c:	991a      	ldr	r1, [sp, #104]	; 0x68
  7e:	f88d 11b9 	strb.w	r1, [sp, #441]	; 0x1b9
  82:	9a19      	ldr	r2, [sp, #100]	; 0x64
  84:	f88d 21ba 	strb.w	r2, [sp, #442]	; 0x1ba
  88:	9b18      	ldr	r3, [sp, #96]	; 0x60
  8a:	f88d 31bb 	strb.w	r3, [sp, #443]	; 0x1bb
  8e:	a83b      	add	r0, sp, #236	; 0xec
  90:	a96f      	add	r1, sp, #444	; 0x1bc
  92:	22cc      	movs	r2, #204	; 0xcc
  94:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:247
                    };
                    self.colors.clear();
  98:	981e      	ldr	r0, [sp, #120]	; 0x78
  9a:	308c      	adds	r0, #140	; 0x8c
  9c:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::clear>
  a0:	e7ff      	b.n	a2 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0xa2>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:248
                    self.first_row = true;
  a2:	981e      	ldr	r0, [sp, #120]	; 0x78
  a4:	2101      	movs	r1, #1
  a6:	f880 115c 	strb.w	r1, [r0, #348]	; 0x15c
  aa:	a8a2      	add	r0, sp, #648	; 0x288
  ac:	aa3b      	add	r2, sp, #236	; 0xec
  ae:	23d0      	movs	r3, #208	; 0xd0
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:249
                    return Some(row);
  b0:	9017      	str	r0, [sp, #92]	; 0x5c
  b2:	9116      	str	r1, [sp, #88]	; 0x58
  b4:	4611      	mov	r1, r2
  b6:	461a      	mov	r2, r3
  b8:	9315      	str	r3, [sp, #84]	; 0x54
  ba:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  be:	981d      	ldr	r0, [sp, #116]	; 0x74
  c0:	3004      	adds	r0, #4
  c2:	9917      	ldr	r1, [sp, #92]	; 0x5c
  c4:	9a15      	ldr	r2, [sp, #84]	; 0x54
  c6:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  ca:	9816      	ldr	r0, [sp, #88]	; 0x58
  cc:	991d      	ldr	r1, [sp, #116]	; 0x74
  ce:	6008      	str	r0, [r1, #0]
  d0:	e159      	b.n	386 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x386>
  d2:	a81f      	add	r0, sp, #124	; 0x7c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:251
                }
                Some(PixelRow { x_left, x_right, y, colors, .. }) => {  //  If there is a Pixel Row...
  d4:	1d01      	adds	r1, r0, #4
  d6:	f89d 00e8 	ldrb.w	r0, [sp, #232]	; 0xe8
  da:	f88d 0359 	strb.w	r0, [sp, #857]	; 0x359
  de:	f89d 00e9 	ldrb.w	r0, [sp, #233]	; 0xe9
  e2:	f88d 035a 	strb.w	r0, [sp, #858]	; 0x35a
  e6:	f89d 00ea 	ldrb.w	r0, [sp, #234]	; 0xea
  ea:	f88d 035b 	strb.w	r0, [sp, #859]	; 0x35b
  ee:	2000      	movs	r0, #0
  f0:	f88d 0637 	strb.w	r0, [sp, #1591]	; 0x637
  f4:	a8d7      	add	r0, sp, #860	; 0x35c
  f6:	2268      	movs	r2, #104	; 0x68
  f8:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:253
                    //  Save the first row as the block start and handle next block.
                    if self.first_row {
  fc:	981e      	ldr	r0, [sp, #120]	; 0x78
  fe:	f890 015c 	ldrb.w	r0, [r0, #348]	; 0x15c
 102:	07c0      	lsls	r0, r0, #31
 104:	2800      	cmp	r0, #0
 106:	d10e      	bne.n	126 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x126>
 108:	e7ff      	b.n	10a <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x10a>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:265
                        self.colors.extend_from_slice(&colors)
                            .expect("never");
                        continue;
                    }
                    //  If this row is adjacent to the previous row and same size, add to the block.
                    if y == self.y_bottom + 1 && x_left == self.x_left && x_right == self.x_right {                        
 10a:	f89d 035b 	ldrb.w	r0, [sp, #859]	; 0x35b
 10e:	991e      	ldr	r1, [sp, #120]	; 0x78
 110:	f891 115b 	ldrb.w	r1, [r1, #347]	; 0x15b
 114:	3101      	adds	r1, #1
 116:	b2ca      	uxtb	r2, r1
 118:	460b      	mov	r3, r1
 11a:	428a      	cmp	r2, r1
 11c:	9014      	str	r0, [sp, #80]	; 0x50
 11e:	9313      	str	r3, [sp, #76]	; 0x4c
 120:	f040 813d 	bne.w	39e <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x39e>
 124:	e072      	b.n	20c <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x20c>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:254
                        self.first_row = false;
 126:	981e      	ldr	r0, [sp, #120]	; 0x78
 128:	2100      	movs	r1, #0
 12a:	f880 115c 	strb.w	r1, [r0, #348]	; 0x15c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:255
                        self.x_left = x_left;
 12e:	f89d 0359 	ldrb.w	r0, [sp, #857]	; 0x359
 132:	991e      	ldr	r1, [sp, #120]	; 0x78
 134:	f881 0158 	strb.w	r0, [r1, #344]	; 0x158
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:256
                        self.x_right = x_right;
 138:	f89d 035a 	ldrb.w	r0, [sp, #858]	; 0x35a
 13c:	991e      	ldr	r1, [sp, #120]	; 0x78
 13e:	f881 0159 	strb.w	r0, [r1, #345]	; 0x159
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:257
                        self.y_top = y;
 142:	f89d 035b 	ldrb.w	r0, [sp, #859]	; 0x35b
 146:	991e      	ldr	r1, [sp, #120]	; 0x78
 148:	f881 015a 	strb.w	r0, [r1, #346]	; 0x15a
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:258
                        self.y_bottom = y;
 14c:	f89d 035b 	ldrb.w	r0, [sp, #859]	; 0x35b
 150:	991e      	ldr	r1, [sp, #120]	; 0x78
 152:	f881 015b 	strb.w	r0, [r1, #347]	; 0x15b
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:259
                        self.colors.clear();
 156:	981e      	ldr	r0, [sp, #120]	; 0x78
 158:	308c      	adds	r0, #140	; 0x8c
 15a:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::clear>
 15e:	e7ff      	b.n	160 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x160>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:260
                        self.colors.extend_from_slice(&colors)
 160:	981e      	ldr	r0, [sp, #120]	; 0x78
 162:	308c      	adds	r0, #140	; 0x8c
 164:	a9d7      	add	r1, sp, #860	; 0x35c
 166:	9012      	str	r0, [sp, #72]	; 0x48
 168:	4608      	mov	r0, r1
 16a:	f7ff fffe 	bl	0 <<heapless::vec::Vec<T,N> as core::ops::deref::Deref>::deref>
 16e:	9011      	str	r0, [sp, #68]	; 0x44
 170:	9110      	str	r1, [sp, #64]	; 0x40
 172:	e7ff      	b.n	174 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x174>
 174:	9812      	ldr	r0, [sp, #72]	; 0x48
 176:	9911      	ldr	r1, [sp, #68]	; 0x44
 178:	9a10      	ldr	r2, [sp, #64]	; 0x40
 17a:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::extend_from_slice>
 17e:	900f      	str	r0, [sp, #60]	; 0x3c
 180:	e7ff      	b.n	182 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x182>
 182:	980f      	ldr	r0, [sp, #60]	; 0x3c
 184:	f000 0001 	and.w	r0, r0, #1
 188:	f240 0100 	movw	r1, #0
 18c:	f2c0 0100 	movt	r1, #0
 190:	f240 0300 	movw	r3, #0
 194:	f2c0 0300 	movt	r3, #0
 198:	2205      	movs	r2, #5
 19a:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
 19e:	e7ff      	b.n	1a0 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1a0>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:262
                        continue;
 1a0:	e7ff      	b.n	1a2 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1a2>
 1a2:	a8d7      	add	r0, sp, #860	; 0x35c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:289
                    self.colors.clear();
                    self.colors.extend_from_slice(&colors)
                        .expect("never");
                    return Some(row);
                }
            }
 1a4:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
 1a8:	e7ff      	b.n	1aa <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1aa>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:290
        }
 1aa:	981f      	ldr	r0, [sp, #124]	; 0x7c
 1ac:	2801      	cmp	r0, #1
 1ae:	f000 80ee 	beq.w	38e <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x38e>
 1b2:	e0f0      	b.n	396 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x396>
 1b4:	2001      	movs	r0, #1
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:265
                    if y == self.y_bottom + 1 && x_left == self.x_left && x_right == self.x_right {                        
 1b6:	f88d 03c5 	strb.w	r0, [sp, #965]	; 0x3c5
 1ba:	e00b      	b.n	1d4 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1d4>
 1bc:	2000      	movs	r0, #0
 1be:	f88d 03c5 	strb.w	r0, [sp, #965]	; 0x3c5
 1c2:	e007      	b.n	1d4 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1d4>
 1c4:	f89d 035a 	ldrb.w	r0, [sp, #858]	; 0x35a
 1c8:	991e      	ldr	r1, [sp, #120]	; 0x78
 1ca:	f891 1159 	ldrb.w	r1, [r1, #345]	; 0x159
 1ce:	4288      	cmp	r0, r1
 1d0:	d0f0      	beq.n	1b4 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1b4>
 1d2:	e7f3      	b.n	1bc <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1bc>
 1d4:	f89d 03c5 	ldrb.w	r0, [sp, #965]	; 0x3c5
 1d8:	07c0      	lsls	r0, r0, #31
 1da:	2800      	cmp	r0, #0
 1dc:	d11d      	bne.n	21a <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x21a>
 1de:	e040      	b.n	262 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x262>
 1e0:	2001      	movs	r0, #1
 1e2:	f88d 03c6 	strb.w	r0, [sp, #966]	; 0x3c6
 1e6:	e00b      	b.n	200 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x200>
 1e8:	2000      	movs	r0, #0
 1ea:	f88d 03c6 	strb.w	r0, [sp, #966]	; 0x3c6
 1ee:	e007      	b.n	200 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x200>
 1f0:	f89d 0359 	ldrb.w	r0, [sp, #857]	; 0x359
 1f4:	991e      	ldr	r1, [sp, #120]	; 0x78
 1f6:	f891 1158 	ldrb.w	r1, [r1, #344]	; 0x158
 1fa:	4288      	cmp	r0, r1
 1fc:	d0f0      	beq.n	1e0 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1e0>
 1fe:	e7f3      	b.n	1e8 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1e8>
 200:	f89d 03c6 	ldrb.w	r0, [sp, #966]	; 0x3c6
 204:	07c0      	lsls	r0, r0, #31
 206:	2800      	cmp	r0, #0
 208:	d1dc      	bne.n	1c4 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1c4>
 20a:	e7d7      	b.n	1bc <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1bc>
 20c:	9813      	ldr	r0, [sp, #76]	; 0x4c
 20e:	b2c1      	uxtb	r1, r0
 210:	9a14      	ldr	r2, [sp, #80]	; 0x50
 212:	b2d3      	uxtb	r3, r2
 214:	428b      	cmp	r3, r1
 216:	d0eb      	beq.n	1f0 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1f0>
 218:	e7e6      	b.n	1e8 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1e8>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:267
                        if self.colors.extend_from_slice(&colors).is_ok() {
 21a:	981e      	ldr	r0, [sp, #120]	; 0x78
 21c:	308c      	adds	r0, #140	; 0x8c
 21e:	a9d7      	add	r1, sp, #860	; 0x35c
 220:	900e      	str	r0, [sp, #56]	; 0x38
 222:	4608      	mov	r0, r1
 224:	f7ff fffe 	bl	0 <<heapless::vec::Vec<T,N> as core::ops::deref::Deref>::deref>
 228:	900d      	str	r0, [sp, #52]	; 0x34
 22a:	910c      	str	r1, [sp, #48]	; 0x30
 22c:	e7ff      	b.n	22e <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x22e>
 22e:	980e      	ldr	r0, [sp, #56]	; 0x38
 230:	990d      	ldr	r1, [sp, #52]	; 0x34
 232:	9a0c      	ldr	r2, [sp, #48]	; 0x30
 234:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::extend_from_slice>
 238:	f88d 03c7 	strb.w	r0, [sp, #967]	; 0x3c7
 23c:	e7ff      	b.n	23e <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x23e>
 23e:	f20d 30c7 	addw	r0, sp, #967	; 0x3c7
 242:	f7ff fffe 	bl	0 <core::result::Result<T,E>::is_ok>
 246:	900b      	str	r0, [sp, #44]	; 0x2c
 248:	e7ff      	b.n	24a <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x24a>
 24a:	980b      	ldr	r0, [sp, #44]	; 0x2c
 24c:	07c1      	lsls	r1, r0, #31
 24e:	2900      	cmp	r1, #0
 250:	d101      	bne.n	256 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x256>
 252:	e7ff      	b.n	254 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x254>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:265
                    if y == self.y_bottom + 1 && x_left == self.x_left && x_right == self.x_right {                        
 254:	e005      	b.n	262 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x262>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:268
                            self.y_bottom = y;
 256:	f89d 035b 	ldrb.w	r0, [sp, #859]	; 0x35b
 25a:	991e      	ldr	r1, [sp, #120]	; 0x78
 25c:	f881 015b 	strb.w	r0, [r1, #347]	; 0x15b
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:269
                            continue;    
 260:	e79f      	b.n	1a2 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1a2>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:274
                        x_left: self.x_left,
 262:	981e      	ldr	r0, [sp, #120]	; 0x78
 264:	f890 1158 	ldrb.w	r1, [r0, #344]	; 0x158
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:275
                        x_right: self.x_right,
 268:	f890 2159 	ldrb.w	r2, [r0, #345]	; 0x159
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:276
                        y_top: self.y_top,
 26c:	f890 315a 	ldrb.w	r3, [r0, #346]	; 0x15a
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:277
                        y_bottom: self.y_bottom,
 270:	f890 c15b 	ldrb.w	ip, [r0, #347]	; 0x15b
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:278
                        colors: self.colors.clone(),
 274:	308c      	adds	r0, #140	; 0x8c
 276:	f50d 6e93 	add.w	lr, sp, #1176	; 0x498
 27a:	900a      	str	r0, [sp, #40]	; 0x28
 27c:	4670      	mov	r0, lr
 27e:	f8dd e028 	ldr.w	lr, [sp, #40]	; 0x28
 282:	9109      	str	r1, [sp, #36]	; 0x24
 284:	4671      	mov	r1, lr
 286:	9208      	str	r2, [sp, #32]
 288:	9307      	str	r3, [sp, #28]
 28a:	f8cd c018 	str.w	ip, [sp, #24]
 28e:	f7ff fffe 	bl	0 <<heapless::vec::Vec<T,N> as core::clone::Clone>::clone>
 292:	e7ff      	b.n	294 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x294>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:273
                    let row = PixelBlock {
 294:	9809      	ldr	r0, [sp, #36]	; 0x24
 296:	f88d 0494 	strb.w	r0, [sp, #1172]	; 0x494
 29a:	9908      	ldr	r1, [sp, #32]
 29c:	f88d 1495 	strb.w	r1, [sp, #1173]	; 0x495
 2a0:	9a07      	ldr	r2, [sp, #28]
 2a2:	f88d 2496 	strb.w	r2, [sp, #1174]	; 0x496
 2a6:	9b06      	ldr	r3, [sp, #24]
 2a8:	f88d 3497 	strb.w	r3, [sp, #1175]	; 0x497
 2ac:	a8f2      	add	r0, sp, #968	; 0x3c8
 2ae:	f50d 6193 	add.w	r1, sp, #1176	; 0x498
 2b2:	22cc      	movs	r2, #204	; 0xcc
 2b4:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:280
                    self.x_left = x_left;
 2b8:	f89d 0359 	ldrb.w	r0, [sp, #857]	; 0x359
 2bc:	991e      	ldr	r1, [sp, #120]	; 0x78
 2be:	f881 0158 	strb.w	r0, [r1, #344]	; 0x158
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:281
                    self.x_right = x_right;
 2c2:	f89d 035a 	ldrb.w	r0, [sp, #858]	; 0x35a
 2c6:	991e      	ldr	r1, [sp, #120]	; 0x78
 2c8:	f881 0159 	strb.w	r0, [r1, #345]	; 0x159
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:282
                    self.y_top = y;
 2cc:	f89d 035b 	ldrb.w	r0, [sp, #859]	; 0x35b
 2d0:	991e      	ldr	r1, [sp, #120]	; 0x78
 2d2:	f881 015a 	strb.w	r0, [r1, #346]	; 0x15a
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:283
                    self.y_bottom = y;
 2d6:	f89d 035b 	ldrb.w	r0, [sp, #859]	; 0x35b
 2da:	991e      	ldr	r1, [sp, #120]	; 0x78
 2dc:	f881 015b 	strb.w	r0, [r1, #347]	; 0x15b
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:284
                    self.colors.clear();
 2e0:	981e      	ldr	r0, [sp, #120]	; 0x78
 2e2:	308c      	adds	r0, #140	; 0x8c
 2e4:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::clear>
 2e8:	e7ff      	b.n	2ea <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x2ea>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:285
                    self.colors.extend_from_slice(&colors)
 2ea:	981e      	ldr	r0, [sp, #120]	; 0x78
 2ec:	308c      	adds	r0, #140	; 0x8c
 2ee:	a9d7      	add	r1, sp, #860	; 0x35c
 2f0:	9005      	str	r0, [sp, #20]
 2f2:	4608      	mov	r0, r1
 2f4:	f7ff fffe 	bl	0 <<heapless::vec::Vec<T,N> as core::ops::deref::Deref>::deref>
 2f8:	9004      	str	r0, [sp, #16]
 2fa:	9103      	str	r1, [sp, #12]
 2fc:	e7ff      	b.n	2fe <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x2fe>
 2fe:	9805      	ldr	r0, [sp, #20]
 300:	9904      	ldr	r1, [sp, #16]
 302:	9a03      	ldr	r2, [sp, #12]
 304:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::extend_from_slice>
 308:	9002      	str	r0, [sp, #8]
 30a:	e7ff      	b.n	30c <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x30c>
 30c:	9802      	ldr	r0, [sp, #8]
 30e:	f000 0001 	and.w	r0, r0, #1
 312:	f240 0100 	movw	r1, #0
 316:	f2c0 0100 	movt	r1, #0
 31a:	f240 0300 	movw	r3, #0
 31e:	f2c0 0300 	movt	r3, #0
 322:	2205      	movs	r2, #5
 324:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
 328:	e7ff      	b.n	32a <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x32a>
 32a:	f20d 5064 	addw	r0, sp, #1380	; 0x564
 32e:	a9f2      	add	r1, sp, #968	; 0x3c8
 330:	22d0      	movs	r2, #208	; 0xd0
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:287
                    return Some(row);
 332:	9001      	str	r0, [sp, #4]
 334:	9200      	str	r2, [sp, #0]
 336:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
 33a:	981d      	ldr	r0, [sp, #116]	; 0x74
 33c:	3004      	adds	r0, #4
 33e:	9901      	ldr	r1, [sp, #4]
 340:	9a00      	ldr	r2, [sp, #0]
 342:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
 346:	2001      	movs	r0, #1
 348:	991d      	ldr	r1, [sp, #116]	; 0x74
 34a:	6008      	str	r0, [r1, #0]
 34c:	a8d7      	add	r0, sp, #860	; 0x35c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:289
            }
 34e:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
 352:	e7ff      	b.n	354 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x354>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:287
                    return Some(row);
 354:	e017      	b.n	386 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x386>
 356:	2000      	movs	r0, #0
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:290
        }
 358:	f88d 0637 	strb.w	r0, [sp, #1591]	; 0x637
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:291
    }
 35c:	f50d 6dc7 	add.w	sp, sp, #1592	; 0x638
 360:	bd80      	pop	{r7, pc}
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:290
        }
 362:	f89d 0637 	ldrb.w	r0, [sp, #1591]	; 0x637
 366:	07c0      	lsls	r0, r0, #31
 368:	2800      	cmp	r0, #0
 36a:	d0f4      	beq.n	356 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x356>
 36c:	e7ff      	b.n	36e <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x36e>
 36e:	2000      	movs	r0, #0
 370:	f88d 0637 	strb.w	r0, [sp, #1591]	; 0x637
 374:	a81f      	add	r0, sp, #124	; 0x7c
 376:	3004      	adds	r0, #4
 378:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
 37c:	e7eb      	b.n	356 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x356>
 37e:	a81f      	add	r0, sp, #124	; 0x7c
 380:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
 384:	e7e7      	b.n	356 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x356>
 386:	981f      	ldr	r0, [sp, #124]	; 0x7c
 388:	2801      	cmp	r0, #1
 38a:	d0ea      	beq.n	362 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x362>
 38c:	e7f7      	b.n	37e <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x37e>
 38e:	2000      	movs	r0, #0
 390:	f88d 0637 	strb.w	r0, [sp, #1591]	; 0x637
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:262
                        continue;
 394:	e63d      	b.n	12 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x12>
 396:	a81f      	add	r0, sp, #124	; 0x7c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:290
        }
 398:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
 39c:	e7f7      	b.n	fffffff2 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0xfffffff2>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:265
                    if y == self.y_bottom + 1 && x_left == self.x_left && x_right == self.x_right {                        
 39e:	f240 0000 	movw	r0, #0
 3a2:	f2c0 0000 	movt	r0, #0
 3a6:	f240 0200 	movw	r2, #0
 3aa:	f2c0 0200 	movt	r2, #0
 3ae:	211c      	movs	r1, #28
 3b0:	f7ff fffe 	bl	0 <core::panicking::panic>
 3b4:	defe      	udf	#254	; 0xfe

Disassembly of section .text._ZN112_$LT$piet_embedded_graphics..batch..BlockIterator$LT$R$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4ed630f6e4eec0dfE:

00000000 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next>:
_ZN112_$LT$piet_embedded_graphics..batch..BlockIterator$LT$R$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4ed630f6e4eec0dfE():
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:229
    fn next(&mut self) -> Option<Self::Item> {
   0:	b580      	push	{r7, lr}
   2:	f5ad 6dc7 	sub.w	sp, sp, #1592	; 0x638
   6:	911e      	str	r1, [sp, #120]	; 0x78
   8:	2100      	movs	r1, #0
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:231
        loop {
   a:	f88d 1637 	strb.w	r1, [sp, #1591]	; 0x637
   e:	901d      	str	r0, [sp, #116]	; 0x74
  10:	e7ff      	b.n	12 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x12>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:233
            let next_row = self.rows.next();
  12:	991e      	ldr	r1, [sp, #120]	; 0x78
  14:	2001      	movs	r0, #1
  16:	f88d 0637 	strb.w	r0, [sp, #1591]	; 0x637
  1a:	a81f      	add	r0, sp, #124	; 0x7c
  1c:	f7ff fffe 	bl	0 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next>
  20:	e7ff      	b.n	22 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x22>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:235
                None => {  //  If no more Pixel Rows...
  22:	981f      	ldr	r0, [sp, #124]	; 0x7c
  24:	2800      	cmp	r0, #0
  26:	d002      	beq.n	2e <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x2e>
  28:	e7ff      	b.n	2a <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x2a>
  2a:	e052      	b.n	d2 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0xd2>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:234
            match next_row {
  2c:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:236
                    if self.first_row {
  2e:	981e      	ldr	r0, [sp, #120]	; 0x78
  30:	f890 0168 	ldrb.w	r0, [r0, #360]	; 0x168
  34:	07c0      	lsls	r0, r0, #31
  36:	2800      	cmp	r0, #0
  38:	d119      	bne.n	6e <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x6e>
  3a:	e7ff      	b.n	3c <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x3c>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:241
                        x_left: self.x_left,
  3c:	981e      	ldr	r0, [sp, #120]	; 0x78
  3e:	f890 1164 	ldrb.w	r1, [r0, #356]	; 0x164
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:242
                        x_right: self.x_right,
  42:	f890 2165 	ldrb.w	r2, [r0, #357]	; 0x165
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:243
                        y_top: self.y_top,
  46:	f890 3166 	ldrb.w	r3, [r0, #358]	; 0x166
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:244
                        y_bottom: self.y_bottom,
  4a:	f890 c167 	ldrb.w	ip, [r0, #359]	; 0x167
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:245
                        colors: self.colors.clone(),
  4e:	3098      	adds	r0, #152	; 0x98
  50:	f50d 7ede 	add.w	lr, sp, #444	; 0x1bc
  54:	901c      	str	r0, [sp, #112]	; 0x70
  56:	4670      	mov	r0, lr
  58:	f8dd e070 	ldr.w	lr, [sp, #112]	; 0x70
  5c:	911b      	str	r1, [sp, #108]	; 0x6c
  5e:	4671      	mov	r1, lr
  60:	921a      	str	r2, [sp, #104]	; 0x68
  62:	9319      	str	r3, [sp, #100]	; 0x64
  64:	f8cd c060 	str.w	ip, [sp, #96]	; 0x60
  68:	f7ff fffe 	bl	0 <<heapless::vec::Vec<T,N> as core::clone::Clone>::clone>
  6c:	e003      	b.n	76 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x76>
  6e:	2000      	movs	r0, #0
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:237
                        return None;  //  No rows to group
  70:	991d      	ldr	r1, [sp, #116]	; 0x74
  72:	6008      	str	r0, [r1, #0]
  74:	e187      	b.n	386 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x386>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:240
                    let row = PixelBlock {
  76:	981b      	ldr	r0, [sp, #108]	; 0x6c
  78:	f88d 01b8 	strb.w	r0, [sp, #440]	; 0x1b8
  7c:	991a      	ldr	r1, [sp, #104]	; 0x68
  7e:	f88d 11b9 	strb.w	r1, [sp, #441]	; 0x1b9
  82:	9a19      	ldr	r2, [sp, #100]	; 0x64
  84:	f88d 21ba 	strb.w	r2, [sp, #442]	; 0x1ba
  88:	9b18      	ldr	r3, [sp, #96]	; 0x60
  8a:	f88d 31bb 	strb.w	r3, [sp, #443]	; 0x1bb
  8e:	a83b      	add	r0, sp, #236	; 0xec
  90:	a96f      	add	r1, sp, #444	; 0x1bc
  92:	22cc      	movs	r2, #204	; 0xcc
  94:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:247
                    self.colors.clear();
  98:	981e      	ldr	r0, [sp, #120]	; 0x78
  9a:	3098      	adds	r0, #152	; 0x98
  9c:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::clear>
  a0:	e7ff      	b.n	a2 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0xa2>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:248
                    self.first_row = true;
  a2:	981e      	ldr	r0, [sp, #120]	; 0x78
  a4:	2101      	movs	r1, #1
  a6:	f880 1168 	strb.w	r1, [r0, #360]	; 0x168
  aa:	a8a2      	add	r0, sp, #648	; 0x288
  ac:	aa3b      	add	r2, sp, #236	; 0xec
  ae:	23d0      	movs	r3, #208	; 0xd0
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:249
                    return Some(row);
  b0:	9017      	str	r0, [sp, #92]	; 0x5c
  b2:	9116      	str	r1, [sp, #88]	; 0x58
  b4:	4611      	mov	r1, r2
  b6:	461a      	mov	r2, r3
  b8:	9315      	str	r3, [sp, #84]	; 0x54
  ba:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  be:	981d      	ldr	r0, [sp, #116]	; 0x74
  c0:	3004      	adds	r0, #4
  c2:	9917      	ldr	r1, [sp, #92]	; 0x5c
  c4:	9a15      	ldr	r2, [sp, #84]	; 0x54
  c6:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  ca:	9816      	ldr	r0, [sp, #88]	; 0x58
  cc:	991d      	ldr	r1, [sp, #116]	; 0x74
  ce:	6008      	str	r0, [r1, #0]
  d0:	e159      	b.n	386 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x386>
  d2:	a81f      	add	r0, sp, #124	; 0x7c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:251
                Some(PixelRow { x_left, x_right, y, colors, .. }) => {  //  If there is a Pixel Row...
  d4:	1d01      	adds	r1, r0, #4
  d6:	f89d 00e8 	ldrb.w	r0, [sp, #232]	; 0xe8
  da:	f88d 0359 	strb.w	r0, [sp, #857]	; 0x359
  de:	f89d 00e9 	ldrb.w	r0, [sp, #233]	; 0xe9
  e2:	f88d 035a 	strb.w	r0, [sp, #858]	; 0x35a
  e6:	f89d 00ea 	ldrb.w	r0, [sp, #234]	; 0xea
  ea:	f88d 035b 	strb.w	r0, [sp, #859]	; 0x35b
  ee:	2000      	movs	r0, #0
  f0:	f88d 0637 	strb.w	r0, [sp, #1591]	; 0x637
  f4:	a8d7      	add	r0, sp, #860	; 0x35c
  f6:	2268      	movs	r2, #104	; 0x68
  f8:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:253
                    if self.first_row {
  fc:	981e      	ldr	r0, [sp, #120]	; 0x78
  fe:	f890 0168 	ldrb.w	r0, [r0, #360]	; 0x168
 102:	07c0      	lsls	r0, r0, #31
 104:	2800      	cmp	r0, #0
 106:	d10e      	bne.n	126 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x126>
 108:	e7ff      	b.n	10a <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x10a>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:265
                    if y == self.y_bottom + 1 && x_left == self.x_left && x_right == self.x_right {                        
 10a:	f89d 035b 	ldrb.w	r0, [sp, #859]	; 0x35b
 10e:	991e      	ldr	r1, [sp, #120]	; 0x78
 110:	f891 1167 	ldrb.w	r1, [r1, #359]	; 0x167
 114:	3101      	adds	r1, #1
 116:	b2ca      	uxtb	r2, r1
 118:	460b      	mov	r3, r1
 11a:	428a      	cmp	r2, r1
 11c:	9014      	str	r0, [sp, #80]	; 0x50
 11e:	9313      	str	r3, [sp, #76]	; 0x4c
 120:	f040 813d 	bne.w	39e <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x39e>
 124:	e072      	b.n	20c <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x20c>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:254
                        self.first_row = false;
 126:	981e      	ldr	r0, [sp, #120]	; 0x78
 128:	2100      	movs	r1, #0
 12a:	f880 1168 	strb.w	r1, [r0, #360]	; 0x168
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:255
                        self.x_left = x_left;
 12e:	f89d 0359 	ldrb.w	r0, [sp, #857]	; 0x359
 132:	991e      	ldr	r1, [sp, #120]	; 0x78
 134:	f881 0164 	strb.w	r0, [r1, #356]	; 0x164
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:256
                        self.x_right = x_right;
 138:	f89d 035a 	ldrb.w	r0, [sp, #858]	; 0x35a
 13c:	991e      	ldr	r1, [sp, #120]	; 0x78
 13e:	f881 0165 	strb.w	r0, [r1, #357]	; 0x165
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:257
                        self.y_top = y;
 142:	f89d 035b 	ldrb.w	r0, [sp, #859]	; 0x35b
 146:	991e      	ldr	r1, [sp, #120]	; 0x78
 148:	f881 0166 	strb.w	r0, [r1, #358]	; 0x166
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:258
                        self.y_bottom = y;
 14c:	f89d 035b 	ldrb.w	r0, [sp, #859]	; 0x35b
 150:	991e      	ldr	r1, [sp, #120]	; 0x78
 152:	f881 0167 	strb.w	r0, [r1, #359]	; 0x167
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:259
                        self.colors.clear();
 156:	981e      	ldr	r0, [sp, #120]	; 0x78
 158:	3098      	adds	r0, #152	; 0x98
 15a:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::clear>
 15e:	e7ff      	b.n	160 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x160>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:260
                        self.colors.extend_from_slice(&colors)
 160:	981e      	ldr	r0, [sp, #120]	; 0x78
 162:	3098      	adds	r0, #152	; 0x98
 164:	a9d7      	add	r1, sp, #860	; 0x35c
 166:	9012      	str	r0, [sp, #72]	; 0x48
 168:	4608      	mov	r0, r1
 16a:	f7ff fffe 	bl	0 <<heapless::vec::Vec<T,N> as core::ops::deref::Deref>::deref>
 16e:	9011      	str	r0, [sp, #68]	; 0x44
 170:	9110      	str	r1, [sp, #64]	; 0x40
 172:	e7ff      	b.n	174 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x174>
 174:	9812      	ldr	r0, [sp, #72]	; 0x48
 176:	9911      	ldr	r1, [sp, #68]	; 0x44
 178:	9a10      	ldr	r2, [sp, #64]	; 0x40
 17a:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::extend_from_slice>
 17e:	900f      	str	r0, [sp, #60]	; 0x3c
 180:	e7ff      	b.n	182 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x182>
 182:	980f      	ldr	r0, [sp, #60]	; 0x3c
 184:	f000 0001 	and.w	r0, r0, #1
 188:	f240 0100 	movw	r1, #0
 18c:	f2c0 0100 	movt	r1, #0
 190:	f240 0300 	movw	r3, #0
 194:	f2c0 0300 	movt	r3, #0
 198:	2205      	movs	r2, #5
 19a:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
 19e:	e7ff      	b.n	1a0 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1a0>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:262
                        continue;
 1a0:	e7ff      	b.n	1a2 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1a2>
 1a2:	a8d7      	add	r0, sp, #860	; 0x35c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:289
            }
 1a4:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
 1a8:	e7ff      	b.n	1aa <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1aa>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:290
        }
 1aa:	981f      	ldr	r0, [sp, #124]	; 0x7c
 1ac:	2801      	cmp	r0, #1
 1ae:	f000 80ee 	beq.w	38e <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x38e>
 1b2:	e0f0      	b.n	396 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x396>
 1b4:	2001      	movs	r0, #1
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:265
                    if y == self.y_bottom + 1 && x_left == self.x_left && x_right == self.x_right {                        
 1b6:	f88d 03c5 	strb.w	r0, [sp, #965]	; 0x3c5
 1ba:	e00b      	b.n	1d4 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1d4>
 1bc:	2000      	movs	r0, #0
 1be:	f88d 03c5 	strb.w	r0, [sp, #965]	; 0x3c5
 1c2:	e007      	b.n	1d4 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1d4>
 1c4:	f89d 035a 	ldrb.w	r0, [sp, #858]	; 0x35a
 1c8:	991e      	ldr	r1, [sp, #120]	; 0x78
 1ca:	f891 1165 	ldrb.w	r1, [r1, #357]	; 0x165
 1ce:	4288      	cmp	r0, r1
 1d0:	d0f0      	beq.n	1b4 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1b4>
 1d2:	e7f3      	b.n	1bc <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1bc>
 1d4:	f89d 03c5 	ldrb.w	r0, [sp, #965]	; 0x3c5
 1d8:	07c0      	lsls	r0, r0, #31
 1da:	2800      	cmp	r0, #0
 1dc:	d11d      	bne.n	21a <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x21a>
 1de:	e040      	b.n	262 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x262>
 1e0:	2001      	movs	r0, #1
 1e2:	f88d 03c6 	strb.w	r0, [sp, #966]	; 0x3c6
 1e6:	e00b      	b.n	200 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x200>
 1e8:	2000      	movs	r0, #0
 1ea:	f88d 03c6 	strb.w	r0, [sp, #966]	; 0x3c6
 1ee:	e007      	b.n	200 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x200>
 1f0:	f89d 0359 	ldrb.w	r0, [sp, #857]	; 0x359
 1f4:	991e      	ldr	r1, [sp, #120]	; 0x78
 1f6:	f891 1164 	ldrb.w	r1, [r1, #356]	; 0x164
 1fa:	4288      	cmp	r0, r1
 1fc:	d0f0      	beq.n	1e0 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1e0>
 1fe:	e7f3      	b.n	1e8 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1e8>
 200:	f89d 03c6 	ldrb.w	r0, [sp, #966]	; 0x3c6
 204:	07c0      	lsls	r0, r0, #31
 206:	2800      	cmp	r0, #0
 208:	d1dc      	bne.n	1c4 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1c4>
 20a:	e7d7      	b.n	1bc <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1bc>
 20c:	9813      	ldr	r0, [sp, #76]	; 0x4c
 20e:	b2c1      	uxtb	r1, r0
 210:	9a14      	ldr	r2, [sp, #80]	; 0x50
 212:	b2d3      	uxtb	r3, r2
 214:	428b      	cmp	r3, r1
 216:	d0eb      	beq.n	1f0 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1f0>
 218:	e7e6      	b.n	1e8 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1e8>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:267
                        if self.colors.extend_from_slice(&colors).is_ok() {
 21a:	981e      	ldr	r0, [sp, #120]	; 0x78
 21c:	3098      	adds	r0, #152	; 0x98
 21e:	a9d7      	add	r1, sp, #860	; 0x35c
 220:	900e      	str	r0, [sp, #56]	; 0x38
 222:	4608      	mov	r0, r1
 224:	f7ff fffe 	bl	0 <<heapless::vec::Vec<T,N> as core::ops::deref::Deref>::deref>
 228:	900d      	str	r0, [sp, #52]	; 0x34
 22a:	910c      	str	r1, [sp, #48]	; 0x30
 22c:	e7ff      	b.n	22e <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x22e>
 22e:	980e      	ldr	r0, [sp, #56]	; 0x38
 230:	990d      	ldr	r1, [sp, #52]	; 0x34
 232:	9a0c      	ldr	r2, [sp, #48]	; 0x30
 234:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::extend_from_slice>
 238:	f88d 03c7 	strb.w	r0, [sp, #967]	; 0x3c7
 23c:	e7ff      	b.n	23e <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x23e>
 23e:	f20d 30c7 	addw	r0, sp, #967	; 0x3c7
 242:	f7ff fffe 	bl	0 <core::result::Result<T,E>::is_ok>
 246:	900b      	str	r0, [sp, #44]	; 0x2c
 248:	e7ff      	b.n	24a <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x24a>
 24a:	980b      	ldr	r0, [sp, #44]	; 0x2c
 24c:	07c1      	lsls	r1, r0, #31
 24e:	2900      	cmp	r1, #0
 250:	d101      	bne.n	256 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x256>
 252:	e7ff      	b.n	254 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x254>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:265
                    if y == self.y_bottom + 1 && x_left == self.x_left && x_right == self.x_right {                        
 254:	e005      	b.n	262 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x262>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:268
                            self.y_bottom = y;
 256:	f89d 035b 	ldrb.w	r0, [sp, #859]	; 0x35b
 25a:	991e      	ldr	r1, [sp, #120]	; 0x78
 25c:	f881 0167 	strb.w	r0, [r1, #359]	; 0x167
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:269
                            continue;    
 260:	e79f      	b.n	1a2 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x1a2>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:274
                        x_left: self.x_left,
 262:	981e      	ldr	r0, [sp, #120]	; 0x78
 264:	f890 1164 	ldrb.w	r1, [r0, #356]	; 0x164
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:275
                        x_right: self.x_right,
 268:	f890 2165 	ldrb.w	r2, [r0, #357]	; 0x165
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:276
                        y_top: self.y_top,
 26c:	f890 3166 	ldrb.w	r3, [r0, #358]	; 0x166
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:277
                        y_bottom: self.y_bottom,
 270:	f890 c167 	ldrb.w	ip, [r0, #359]	; 0x167
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:278
                        colors: self.colors.clone(),
 274:	3098      	adds	r0, #152	; 0x98
 276:	f50d 6e93 	add.w	lr, sp, #1176	; 0x498
 27a:	900a      	str	r0, [sp, #40]	; 0x28
 27c:	4670      	mov	r0, lr
 27e:	f8dd e028 	ldr.w	lr, [sp, #40]	; 0x28
 282:	9109      	str	r1, [sp, #36]	; 0x24
 284:	4671      	mov	r1, lr
 286:	9208      	str	r2, [sp, #32]
 288:	9307      	str	r3, [sp, #28]
 28a:	f8cd c018 	str.w	ip, [sp, #24]
 28e:	f7ff fffe 	bl	0 <<heapless::vec::Vec<T,N> as core::clone::Clone>::clone>
 292:	e7ff      	b.n	294 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x294>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:273
                    let row = PixelBlock {
 294:	9809      	ldr	r0, [sp, #36]	; 0x24
 296:	f88d 0494 	strb.w	r0, [sp, #1172]	; 0x494
 29a:	9908      	ldr	r1, [sp, #32]
 29c:	f88d 1495 	strb.w	r1, [sp, #1173]	; 0x495
 2a0:	9a07      	ldr	r2, [sp, #28]
 2a2:	f88d 2496 	strb.w	r2, [sp, #1174]	; 0x496
 2a6:	9b06      	ldr	r3, [sp, #24]
 2a8:	f88d 3497 	strb.w	r3, [sp, #1175]	; 0x497
 2ac:	a8f2      	add	r0, sp, #968	; 0x3c8
 2ae:	f50d 6193 	add.w	r1, sp, #1176	; 0x498
 2b2:	22cc      	movs	r2, #204	; 0xcc
 2b4:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:280
                    self.x_left = x_left;
 2b8:	f89d 0359 	ldrb.w	r0, [sp, #857]	; 0x359
 2bc:	991e      	ldr	r1, [sp, #120]	; 0x78
 2be:	f881 0164 	strb.w	r0, [r1, #356]	; 0x164
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:281
                    self.x_right = x_right;
 2c2:	f89d 035a 	ldrb.w	r0, [sp, #858]	; 0x35a
 2c6:	991e      	ldr	r1, [sp, #120]	; 0x78
 2c8:	f881 0165 	strb.w	r0, [r1, #357]	; 0x165
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:282
                    self.y_top = y;
 2cc:	f89d 035b 	ldrb.w	r0, [sp, #859]	; 0x35b
 2d0:	991e      	ldr	r1, [sp, #120]	; 0x78
 2d2:	f881 0166 	strb.w	r0, [r1, #358]	; 0x166
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:283
                    self.y_bottom = y;
 2d6:	f89d 035b 	ldrb.w	r0, [sp, #859]	; 0x35b
 2da:	991e      	ldr	r1, [sp, #120]	; 0x78
 2dc:	f881 0167 	strb.w	r0, [r1, #359]	; 0x167
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:284
                    self.colors.clear();
 2e0:	981e      	ldr	r0, [sp, #120]	; 0x78
 2e2:	3098      	adds	r0, #152	; 0x98
 2e4:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::clear>
 2e8:	e7ff      	b.n	2ea <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x2ea>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:285
                    self.colors.extend_from_slice(&colors)
 2ea:	981e      	ldr	r0, [sp, #120]	; 0x78
 2ec:	3098      	adds	r0, #152	; 0x98
 2ee:	a9d7      	add	r1, sp, #860	; 0x35c
 2f0:	9005      	str	r0, [sp, #20]
 2f2:	4608      	mov	r0, r1
 2f4:	f7ff fffe 	bl	0 <<heapless::vec::Vec<T,N> as core::ops::deref::Deref>::deref>
 2f8:	9004      	str	r0, [sp, #16]
 2fa:	9103      	str	r1, [sp, #12]
 2fc:	e7ff      	b.n	2fe <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x2fe>
 2fe:	9805      	ldr	r0, [sp, #20]
 300:	9904      	ldr	r1, [sp, #16]
 302:	9a03      	ldr	r2, [sp, #12]
 304:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::extend_from_slice>
 308:	9002      	str	r0, [sp, #8]
 30a:	e7ff      	b.n	30c <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x30c>
 30c:	9802      	ldr	r0, [sp, #8]
 30e:	f000 0001 	and.w	r0, r0, #1
 312:	f240 0100 	movw	r1, #0
 316:	f2c0 0100 	movt	r1, #0
 31a:	f240 0300 	movw	r3, #0
 31e:	f2c0 0300 	movt	r3, #0
 322:	2205      	movs	r2, #5
 324:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
 328:	e7ff      	b.n	32a <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x32a>
 32a:	f20d 5064 	addw	r0, sp, #1380	; 0x564
 32e:	a9f2      	add	r1, sp, #968	; 0x3c8
 330:	22d0      	movs	r2, #208	; 0xd0
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:287
                    return Some(row);
 332:	9001      	str	r0, [sp, #4]
 334:	9200      	str	r2, [sp, #0]
 336:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
 33a:	981d      	ldr	r0, [sp, #116]	; 0x74
 33c:	3004      	adds	r0, #4
 33e:	9901      	ldr	r1, [sp, #4]
 340:	9a00      	ldr	r2, [sp, #0]
 342:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
 346:	2001      	movs	r0, #1
 348:	991d      	ldr	r1, [sp, #116]	; 0x74
 34a:	6008      	str	r0, [r1, #0]
 34c:	a8d7      	add	r0, sp, #860	; 0x35c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:289
            }
 34e:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
 352:	e7ff      	b.n	354 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x354>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:287
                    return Some(row);
 354:	e017      	b.n	386 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x386>
 356:	2000      	movs	r0, #0
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:290
        }
 358:	f88d 0637 	strb.w	r0, [sp, #1591]	; 0x637
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:291
    }
 35c:	f50d 6dc7 	add.w	sp, sp, #1592	; 0x638
 360:	bd80      	pop	{r7, pc}
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:290
        }
 362:	f89d 0637 	ldrb.w	r0, [sp, #1591]	; 0x637
 366:	07c0      	lsls	r0, r0, #31
 368:	2800      	cmp	r0, #0
 36a:	d0f4      	beq.n	356 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x356>
 36c:	e7ff      	b.n	36e <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x36e>
 36e:	2000      	movs	r0, #0
 370:	f88d 0637 	strb.w	r0, [sp, #1591]	; 0x637
 374:	a81f      	add	r0, sp, #124	; 0x7c
 376:	3004      	adds	r0, #4
 378:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
 37c:	e7eb      	b.n	356 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x356>
 37e:	a81f      	add	r0, sp, #124	; 0x7c
 380:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
 384:	e7e7      	b.n	356 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x356>
 386:	981f      	ldr	r0, [sp, #124]	; 0x7c
 388:	2801      	cmp	r0, #1
 38a:	d0ea      	beq.n	362 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x362>
 38c:	e7f7      	b.n	37e <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x37e>
 38e:	2000      	movs	r0, #0
 390:	f88d 0637 	strb.w	r0, [sp, #1591]	; 0x637
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:262
                        continue;
 394:	e63d      	b.n	12 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0x12>
 396:	a81f      	add	r0, sp, #124	; 0x7c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:290
        }
 398:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
 39c:	e7f7      	b.n	fffffff2 <<piet_embedded_graphics::batch::BlockIterator<R> as core::iter::traits::iterator::Iterator>::next+0xfffffff2>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:265
                    if y == self.y_bottom + 1 && x_left == self.x_left && x_right == self.x_right {                        
 39e:	f240 0000 	movw	r0, #0
 3a2:	f2c0 0000 	movt	r0, #0
 3a6:	f240 0200 	movw	r2, #0
 3aa:	f2c0 0200 	movt	r2, #0
 3ae:	211c      	movs	r1, #28
 3b0:	f7ff fffe 	bl	0 <core::panicking::panic>
 3b4:	defe      	udf	#254	; 0xfe

Disassembly of section .text._ZN22piet_embedded_graphics5batch11draw_blocks17h9208ca9c4360d35eE:

00000000 <piet_embedded_graphics::batch::draw_blocks>:
_ZN22piet_embedded_graphics5batch11draw_blocks17h9208ca9c4360d35eE():
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:89
pub fn draw_blocks<SPI, DC, RST, T>(display: &mut ST7735<SPI, DC, RST>, item_pixels: T) -> Result<(),()>
   0:	b570      	push	{r4, r5, r6, lr}
   2:	f5ad 6d48 	sub.w	sp, sp, #3200	; 0xc80
   6:	b082      	sub	sp, #8
   8:	9010      	str	r0, [sp, #64]	; 0x40
   a:	a81d      	add	r0, sp, #116	; 0x74
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:96
    let pixels = item_pixels.into_iter();
   c:	4602      	mov	r2, r0
   e:	e8b1 5008 	ldmia.w	r1!, {r3, ip, lr}
  12:	e8a2 5008 	stmia.w	r2!, {r3, ip, lr}
  16:	e891 5018 	ldmia.w	r1, {r3, r4, ip, lr}
  1a:	e882 5018 	stmia.w	r2, {r3, r4, ip, lr}
  1e:	a912      	add	r1, sp, #72	; 0x48
  20:	900f      	str	r0, [sp, #60]	; 0x3c
  22:	4608      	mov	r0, r1
  24:	990f      	ldr	r1, [sp, #60]	; 0x3c
  26:	f7ff fffe 	bl	0 <<embedded_graphics::fonts::font_builder::FontBuilder<C,Conf> as core::iter::traits::collect::IntoIterator>::into_iter>
  2a:	e7ff      	b.n	2c <piet_embedded_graphics::batch::draw_blocks+0x2c>
  2c:	a812      	add	r0, sp, #72	; 0x48
  2e:	a94a      	add	r1, sp, #296	; 0x128
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:98
    let rows = to_rows(pixels);
  30:	460a      	mov	r2, r1
  32:	e8b0 5038 	ldmia.w	r0!, {r3, r4, r5, ip, lr}
  36:	e8a2 5038 	stmia.w	r2!, {r3, r4, r5, ip, lr}
  3a:	e890 5078 	ldmia.w	r0, {r3, r4, r5, r6, ip, lr}
  3e:	e882 5078 	stmia.w	r2, {r3, r4, r5, r6, ip, lr}
  42:	a824      	add	r0, sp, #144	; 0x90
  44:	f7ff fffe 	bl	0 <piet_embedded_graphics::batch::draw_blocks>
  48:	e7ff      	b.n	4a <piet_embedded_graphics::batch::draw_blocks+0x4a>
  4a:	a8b0      	add	r0, sp, #704	; 0x2c0
  4c:	a924      	add	r1, sp, #144	; 0x90
  4e:	2298      	movs	r2, #152	; 0x98
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:100
    let blocks = to_blocks(rows);
  50:	900e      	str	r0, [sp, #56]	; 0x38
  52:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  56:	a855      	add	r0, sp, #340	; 0x154
  58:	990e      	ldr	r1, [sp, #56]	; 0x38
  5a:	f7ff fffe 	bl	0 <piet_embedded_graphics::batch::draw_blocks>
  5e:	e7ff      	b.n	60 <piet_embedded_graphics::batch::draw_blocks+0x60>
  60:	f20d 40c4 	addw	r0, sp, #1220	; 0x4c4
  64:	a955      	add	r1, sp, #340	; 0x154
  66:	f44f 72b6 	mov.w	r2, #364	; 0x16c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:102
    for PixelBlock { x_left, x_right, y_top, y_bottom, colors, .. } in blocks {
  6a:	900d      	str	r0, [sp, #52]	; 0x34
  6c:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  70:	a8d6      	add	r0, sp, #856	; 0x358
  72:	990d      	ldr	r1, [sp, #52]	; 0x34
  74:	f7ff fffe 	bl	0 <piet_embedded_graphics::batch::draw_blocks>
  78:	e7ff      	b.n	7a <piet_embedded_graphics::batch::draw_blocks+0x7a>
  7a:	f50d 60c6 	add.w	r0, sp, #1584	; 0x630
  7e:	a9d6      	add	r1, sp, #856	; 0x358
  80:	f44f 72b6 	mov.w	r2, #364	; 0x16c
  84:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  88:	e7ff      	b.n	8a <piet_embedded_graphics::batch::draw_blocks+0x8a>
  8a:	f60d 006c 	addw	r0, sp, #2156	; 0x86c
  8e:	f50d 61c6 	add.w	r1, sp, #1584	; 0x630
  92:	f7ff fffe 	bl	0 <piet_embedded_graphics::batch::draw_blocks>
  96:	e7ff      	b.n	98 <piet_embedded_graphics::batch::draw_blocks+0x98>
  98:	f8dd 086c 	ldr.w	r0, [sp, #2156]	; 0x86c
  9c:	2800      	cmp	r0, #0
  9e:	d001      	beq.n	a4 <piet_embedded_graphics::batch::draw_blocks+0xa4>
  a0:	e7ff      	b.n	a2 <piet_embedded_graphics::batch::draw_blocks+0xa2>
  a2:	e005      	b.n	b0 <piet_embedded_graphics::batch::draw_blocks+0xb0>
  a4:	f60d 006c 	addw	r0, sp, #2156	; 0x86c
  a8:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
  ac:	e01c      	b.n	e8 <piet_embedded_graphics::batch::draw_blocks+0xe8>
  ae:	defe      	udf	#254	; 0xfe
  b0:	f60d 006c 	addw	r0, sp, #2156	; 0x86c
  b4:	1d01      	adds	r1, r0, #4
  b6:	f50d 6014 	add.w	r0, sp, #2368	; 0x940
  ba:	22d0      	movs	r2, #208	; 0xd0
  bc:	900c      	str	r0, [sp, #48]	; 0x30
  be:	920b      	str	r2, [sp, #44]	; 0x2c
  c0:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  c4:	f50d 6021 	add.w	r0, sp, #2576	; 0xa10
  c8:	900a      	str	r0, [sp, #40]	; 0x28
  ca:	990c      	ldr	r1, [sp, #48]	; 0x30
  cc:	9a0b      	ldr	r2, [sp, #44]	; 0x2c
  ce:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  d2:	f20d 709c 	addw	r0, sp, #1948	; 0x79c
  d6:	990a      	ldr	r1, [sp, #40]	; 0x28
  d8:	9a0b      	ldr	r2, [sp, #44]	; 0x2c
  da:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  de:	f8dd 086c 	ldr.w	r0, [sp, #2156]	; 0x86c
  e2:	2801      	cmp	r0, #1
  e4:	d02d      	beq.n	142 <piet_embedded_graphics::batch::draw_blocks+0x142>
  e6:	e06d      	b.n	1c4 <piet_embedded_graphics::batch::draw_blocks+0x1c4>
  e8:	f50d 60c6 	add.w	r0, sp, #1584	; 0x630
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:116
    }
  ec:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
  f0:	e023      	b.n	13a <piet_embedded_graphics::batch::draw_blocks+0x13a>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:104
        display.set_pixels(
  f2:	f89d 0bb3 	ldrb.w	r0, [sp, #2995]	; 0xbb3
  f6:	f7ff fffe 	bl	0 <<core::result::Result<T,E> as core::ops::try::Try>::into_result>
  fa:	f88d 0bb2 	strb.w	r0, [sp, #2994]	; 0xbb2
  fe:	e7ff      	b.n	100 <piet_embedded_graphics::batch::draw_blocks+0x100>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:109
            colors) ? ;
 100:	f89d 0bb2 	ldrb.w	r0, [sp, #2994]	; 0xbb2
 104:	07c1      	lsls	r1, r0, #31
 106:	2900      	cmp	r1, #0
 108:	d016      	beq.n	138 <piet_embedded_graphics::batch::draw_blocks+0x138>
 10a:	e7ff      	b.n	10c <piet_embedded_graphics::batch::draw_blocks+0x10c>
 10c:	e000      	b.n	110 <piet_embedded_graphics::batch::draw_blocks+0x110>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:104
        display.set_pixels(
 10e:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:109
            colors) ? ;
 110:	f7ff fffe 	bl	0 <<T as core::convert::From<T>>::from>
 114:	e005      	b.n	122 <piet_embedded_graphics::batch::draw_blocks+0x122>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:118
}
 116:	f89d 0047 	ldrb.w	r0, [sp, #71]	; 0x47
 11a:	f50d 6d48 	add.w	sp, sp, #3200	; 0xc80
 11e:	b002      	add	sp, #8
 120:	bd70      	pop	{r4, r5, r6, pc}
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:109
            colors) ? ;
 122:	f7ff fffe 	bl	0 <<core::result::Result<T,E> as core::ops::try::Try>::from_error>
 126:	f88d 0047 	strb.w	r0, [sp, #71]	; 0x47
 12a:	e7ff      	b.n	12c <piet_embedded_graphics::batch::draw_blocks+0x12c>
 12c:	f50d 60c6 	add.w	r0, sp, #1584	; 0x630
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:116
    }
 130:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
 134:	e7ff      	b.n	136 <piet_embedded_graphics::batch::draw_blocks+0x136>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:118
}
 136:	e7ee      	b.n	116 <piet_embedded_graphics::batch::draw_blocks+0x116>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:102
    for PixelBlock { x_left, x_right, y_top, y_bottom, colors, .. } in blocks {
 138:	e7a7      	b.n	8a <piet_embedded_graphics::batch::draw_blocks+0x8a>
 13a:	2000      	movs	r0, #0
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:117
    Ok(())
 13c:	f88d 0047 	strb.w	r0, [sp, #71]	; 0x47
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:118
}
 140:	e7e9      	b.n	116 <piet_embedded_graphics::batch::draw_blocks+0x116>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:102
    for PixelBlock { x_left, x_right, y_top, y_bottom, colors, .. } in blocks {
 142:	f89d 0868 	ldrb.w	r0, [sp, #2152]	; 0x868
 146:	f88d 0ae0 	strb.w	r0, [sp, #2784]	; 0xae0
 14a:	f89d 0869 	ldrb.w	r0, [sp, #2153]	; 0x869
 14e:	f88d 0ae1 	strb.w	r0, [sp, #2785]	; 0xae1
 152:	f89d 086a 	ldrb.w	r0, [sp, #2154]	; 0x86a
 156:	f88d 0ae2 	strb.w	r0, [sp, #2786]	; 0xae2
 15a:	f89d 086b 	ldrb.w	r0, [sp, #2155]	; 0x86b
 15e:	f88d 0ae3 	strb.w	r0, [sp, #2787]	; 0xae3
 162:	f60d 20e4 	addw	r0, sp, #2788	; 0xae4
 166:	f20d 719c 	addw	r1, sp, #1948	; 0x79c
 16a:	22cc      	movs	r2, #204	; 0xcc
 16c:	9009      	str	r0, [sp, #36]	; 0x24
 16e:	9208      	str	r2, [sp, #32]
 170:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:104
        display.set_pixels(
 174:	9810      	ldr	r0, [sp, #64]	; 0x40
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:105
            x_left as u16, 
 176:	f89d 1ae0 	ldrb.w	r1, [sp, #2784]	; 0xae0
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:106
            y_top as u16,
 17a:	f89d 2ae2 	ldrb.w	r2, [sp, #2786]	; 0xae2
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:107
            x_right as u16,
 17e:	f89d 3ae1 	ldrb.w	r3, [sp, #2785]	; 0xae1
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:108
            y_bottom as u16,
 182:	f89d cae3 	ldrb.w	ip, [sp, #2787]	; 0xae3
 186:	f60d 3eb4 	addw	lr, sp, #2996	; 0xbb4
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:109
            colors) ? ;
 18a:	9007      	str	r0, [sp, #28]
 18c:	4670      	mov	r0, lr
 18e:	9c09      	ldr	r4, [sp, #36]	; 0x24
 190:	9106      	str	r1, [sp, #24]
 192:	4621      	mov	r1, r4
 194:	9d08      	ldr	r5, [sp, #32]
 196:	9205      	str	r2, [sp, #20]
 198:	462a      	mov	r2, r5
 19a:	9304      	str	r3, [sp, #16]
 19c:	f8cd c00c 	str.w	ip, [sp, #12]
 1a0:	f8cd e008 	str.w	lr, [sp, #8]
 1a4:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:104
        display.set_pixels(
 1a8:	4668      	mov	r0, sp
 1aa:	9902      	ldr	r1, [sp, #8]
 1ac:	6041      	str	r1, [r0, #4]
 1ae:	9a03      	ldr	r2, [sp, #12]
 1b0:	6002      	str	r2, [r0, #0]
 1b2:	9807      	ldr	r0, [sp, #28]
 1b4:	9906      	ldr	r1, [sp, #24]
 1b6:	9a05      	ldr	r2, [sp, #20]
 1b8:	9b04      	ldr	r3, [sp, #16]
 1ba:	f7ff fffe 	bl	0 <st7735_lcd::ST7735<SPI,DC,RST>::set_pixels>
 1be:	f88d 0bb3 	strb.w	r0, [sp, #2995]	; 0xbb3
 1c2:	e796      	b.n	f2 <piet_embedded_graphics::batch::draw_blocks+0xf2>
 1c4:	f60d 006c 	addw	r0, sp, #2156	; 0x86c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:102
    for PixelBlock { x_left, x_right, y_top, y_bottom, colors, .. } in blocks {
 1c8:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
 1cc:	e7b9      	b.n	142 <piet_embedded_graphics::batch::draw_blocks+0x142>

Disassembly of section .text._ZN22piet_embedded_graphics5batch11draw_blocks17hfc7945a3b860ce05E:

00000000 <piet_embedded_graphics::batch::draw_blocks>:
_ZN22piet_embedded_graphics5batch11draw_blocks17hfc7945a3b860ce05E():
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:89
pub fn draw_blocks<SPI, DC, RST, T>(display: &mut ST7735<SPI, DC, RST>, item_pixels: T) -> Result<(),()>
   0:	b570      	push	{r4, r5, r6, lr}
   2:	f5ad 6d42 	sub.w	sp, sp, #3104	; 0xc20
   6:	b082      	sub	sp, #8
   8:	9011      	str	r0, [sp, #68]	; 0x44
   a:	a81b      	add	r0, sp, #108	; 0x6c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:96
    let pixels = item_pixels.into_iter();
   c:	4602      	mov	r2, r0
   e:	e891 5078 	ldmia.w	r1, {r3, r4, r5, r6, ip, lr}
  12:	e882 5078 	stmia.w	r2, {r3, r4, r5, r6, ip, lr}
  16:	a913      	add	r1, sp, #76	; 0x4c
  18:	9010      	str	r0, [sp, #64]	; 0x40
  1a:	4608      	mov	r0, r1
  1c:	9910      	ldr	r1, [sp, #64]	; 0x40
  1e:	f7ff fffe 	bl	0 <<embedded_graphics::primitives::circle::Circle<C> as core::iter::traits::collect::IntoIterator>::into_iter>
  22:	e7ff      	b.n	24 <piet_embedded_graphics::batch::draw_blocks+0x24>
  24:	a813      	add	r0, sp, #76	; 0x4c
  26:	a944      	add	r1, sp, #272	; 0x110
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:98
    let rows = to_rows(pixels);
  28:	460a      	mov	r2, r1
  2a:	e8b0 5018 	ldmia.w	r0!, {r3, r4, ip, lr}
  2e:	e8a2 5018 	stmia.w	r2!, {r3, r4, ip, lr}
  32:	e890 5018 	ldmia.w	r0, {r3, r4, ip, lr}
  36:	e882 5018 	stmia.w	r2, {r3, r4, ip, lr}
  3a:	a821      	add	r0, sp, #132	; 0x84
  3c:	f7ff fffe 	bl	0 <piet_embedded_graphics::batch::draw_blocks>
  40:	e7ff      	b.n	42 <piet_embedded_graphics::batch::draw_blocks+0x42>
  42:	a8a4      	add	r0, sp, #656	; 0x290
  44:	a921      	add	r1, sp, #132	; 0x84
  46:	228c      	movs	r2, #140	; 0x8c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:100
    let blocks = to_blocks(rows);
  48:	900f      	str	r0, [sp, #60]	; 0x3c
  4a:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  4e:	a84c      	add	r0, sp, #304	; 0x130
  50:	990f      	ldr	r1, [sp, #60]	; 0x3c
  52:	f7ff fffe 	bl	0 <piet_embedded_graphics::batch::draw_blocks>
  56:	e7ff      	b.n	58 <piet_embedded_graphics::batch::draw_blocks+0x58>
  58:	f20d 407c 	addw	r0, sp, #1148	; 0x47c
  5c:	a94c      	add	r1, sp, #304	; 0x130
  5e:	f44f 72b0 	mov.w	r2, #352	; 0x160
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:102
    for PixelBlock { x_left, x_right, y_top, y_bottom, colors, .. } in blocks {
  62:	900e      	str	r0, [sp, #56]	; 0x38
  64:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  68:	a8c7      	add	r0, sp, #796	; 0x31c
  6a:	990e      	ldr	r1, [sp, #56]	; 0x38
  6c:	f7ff fffe 	bl	0 <piet_embedded_graphics::batch::draw_blocks>
  70:	e7ff      	b.n	72 <piet_embedded_graphics::batch::draw_blocks+0x72>
  72:	f20d 50dc 	addw	r0, sp, #1500	; 0x5dc
  76:	a9c7      	add	r1, sp, #796	; 0x31c
  78:	f44f 72b0 	mov.w	r2, #352	; 0x160
  7c:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  80:	e7ff      	b.n	82 <piet_embedded_graphics::batch::draw_blocks+0x82>
  82:	f60d 000c 	addw	r0, sp, #2060	; 0x80c
  86:	f20d 51dc 	addw	r1, sp, #1500	; 0x5dc
  8a:	f7ff fffe 	bl	0 <piet_embedded_graphics::batch::draw_blocks>
  8e:	e7ff      	b.n	90 <piet_embedded_graphics::batch::draw_blocks+0x90>
  90:	f8dd 080c 	ldr.w	r0, [sp, #2060]	; 0x80c
  94:	2800      	cmp	r0, #0
  96:	d001      	beq.n	9c <piet_embedded_graphics::batch::draw_blocks+0x9c>
  98:	e7ff      	b.n	9a <piet_embedded_graphics::batch::draw_blocks+0x9a>
  9a:	e005      	b.n	a8 <piet_embedded_graphics::batch::draw_blocks+0xa8>
  9c:	f60d 000c 	addw	r0, sp, #2060	; 0x80c
  a0:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
  a4:	e01c      	b.n	e0 <piet_embedded_graphics::batch::draw_blocks+0xe0>
  a6:	defe      	udf	#254	; 0xfe
  a8:	f60d 000c 	addw	r0, sp, #2060	; 0x80c
  ac:	1d01      	adds	r1, r0, #4
  ae:	f50d 600e 	add.w	r0, sp, #2272	; 0x8e0
  b2:	22d0      	movs	r2, #208	; 0xd0
  b4:	900d      	str	r0, [sp, #52]	; 0x34
  b6:	920c      	str	r2, [sp, #48]	; 0x30
  b8:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  bc:	f50d 601b 	add.w	r0, sp, #2480	; 0x9b0
  c0:	900b      	str	r0, [sp, #44]	; 0x2c
  c2:	990d      	ldr	r1, [sp, #52]	; 0x34
  c4:	9a0c      	ldr	r2, [sp, #48]	; 0x30
  c6:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  ca:	f20d 703c 	addw	r0, sp, #1852	; 0x73c
  ce:	990b      	ldr	r1, [sp, #44]	; 0x2c
  d0:	9a0c      	ldr	r2, [sp, #48]	; 0x30
  d2:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  d6:	f8dd 080c 	ldr.w	r0, [sp, #2060]	; 0x80c
  da:	2801      	cmp	r0, #1
  dc:	d02d      	beq.n	13a <piet_embedded_graphics::batch::draw_blocks+0x13a>
  de:	e06d      	b.n	1bc <piet_embedded_graphics::batch::draw_blocks+0x1bc>
  e0:	f20d 50dc 	addw	r0, sp, #1500	; 0x5dc
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:116
    }
  e4:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
  e8:	e023      	b.n	132 <piet_embedded_graphics::batch::draw_blocks+0x132>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:104
        display.set_pixels(
  ea:	f89d 0b53 	ldrb.w	r0, [sp, #2899]	; 0xb53
  ee:	f7ff fffe 	bl	0 <<core::result::Result<T,E> as core::ops::try::Try>::into_result>
  f2:	f88d 0b52 	strb.w	r0, [sp, #2898]	; 0xb52
  f6:	e7ff      	b.n	f8 <piet_embedded_graphics::batch::draw_blocks+0xf8>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:109
            colors) ? ;
  f8:	f89d 0b52 	ldrb.w	r0, [sp, #2898]	; 0xb52
  fc:	07c1      	lsls	r1, r0, #31
  fe:	2900      	cmp	r1, #0
 100:	d016      	beq.n	130 <piet_embedded_graphics::batch::draw_blocks+0x130>
 102:	e7ff      	b.n	104 <piet_embedded_graphics::batch::draw_blocks+0x104>
 104:	e000      	b.n	108 <piet_embedded_graphics::batch::draw_blocks+0x108>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:104
        display.set_pixels(
 106:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:109
            colors) ? ;
 108:	f7ff fffe 	bl	0 <<T as core::convert::From<T>>::from>
 10c:	e005      	b.n	11a <piet_embedded_graphics::batch::draw_blocks+0x11a>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:118
}
 10e:	f89d 004b 	ldrb.w	r0, [sp, #75]	; 0x4b
 112:	f50d 6d42 	add.w	sp, sp, #3104	; 0xc20
 116:	b002      	add	sp, #8
 118:	bd70      	pop	{r4, r5, r6, pc}
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:109
            colors) ? ;
 11a:	f7ff fffe 	bl	0 <<core::result::Result<T,E> as core::ops::try::Try>::from_error>
 11e:	f88d 004b 	strb.w	r0, [sp, #75]	; 0x4b
 122:	e7ff      	b.n	124 <piet_embedded_graphics::batch::draw_blocks+0x124>
 124:	f20d 50dc 	addw	r0, sp, #1500	; 0x5dc
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:116
    }
 128:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
 12c:	e7ff      	b.n	12e <piet_embedded_graphics::batch::draw_blocks+0x12e>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:118
}
 12e:	e7ee      	b.n	10e <piet_embedded_graphics::batch::draw_blocks+0x10e>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:102
    for PixelBlock { x_left, x_right, y_top, y_bottom, colors, .. } in blocks {
 130:	e7a7      	b.n	82 <piet_embedded_graphics::batch::draw_blocks+0x82>
 132:	2000      	movs	r0, #0
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:117
    Ok(())
 134:	f88d 004b 	strb.w	r0, [sp, #75]	; 0x4b
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:118
}
 138:	e7e9      	b.n	10e <piet_embedded_graphics::batch::draw_blocks+0x10e>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:102
    for PixelBlock { x_left, x_right, y_top, y_bottom, colors, .. } in blocks {
 13a:	f89d 0808 	ldrb.w	r0, [sp, #2056]	; 0x808
 13e:	f88d 0a80 	strb.w	r0, [sp, #2688]	; 0xa80
 142:	f89d 0809 	ldrb.w	r0, [sp, #2057]	; 0x809
 146:	f88d 0a81 	strb.w	r0, [sp, #2689]	; 0xa81
 14a:	f89d 080a 	ldrb.w	r0, [sp, #2058]	; 0x80a
 14e:	f88d 0a82 	strb.w	r0, [sp, #2690]	; 0xa82
 152:	f89d 080b 	ldrb.w	r0, [sp, #2059]	; 0x80b
 156:	f88d 0a83 	strb.w	r0, [sp, #2691]	; 0xa83
 15a:	f60d 2084 	addw	r0, sp, #2692	; 0xa84
 15e:	f20d 713c 	addw	r1, sp, #1852	; 0x73c
 162:	22cc      	movs	r2, #204	; 0xcc
 164:	900a      	str	r0, [sp, #40]	; 0x28
 166:	9209      	str	r2, [sp, #36]	; 0x24
 168:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:104
        display.set_pixels(
 16c:	9811      	ldr	r0, [sp, #68]	; 0x44
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:105
            x_left as u16, 
 16e:	f89d 1a80 	ldrb.w	r1, [sp, #2688]	; 0xa80
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:106
            y_top as u16,
 172:	f89d 2a82 	ldrb.w	r2, [sp, #2690]	; 0xa82
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:107
            x_right as u16,
 176:	f89d 3a81 	ldrb.w	r3, [sp, #2689]	; 0xa81
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:108
            y_bottom as u16,
 17a:	f89d ca83 	ldrb.w	ip, [sp, #2691]	; 0xa83
 17e:	f60d 3e54 	addw	lr, sp, #2900	; 0xb54
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:109
            colors) ? ;
 182:	9008      	str	r0, [sp, #32]
 184:	4670      	mov	r0, lr
 186:	9c0a      	ldr	r4, [sp, #40]	; 0x28
 188:	9107      	str	r1, [sp, #28]
 18a:	4621      	mov	r1, r4
 18c:	9d09      	ldr	r5, [sp, #36]	; 0x24
 18e:	9206      	str	r2, [sp, #24]
 190:	462a      	mov	r2, r5
 192:	9305      	str	r3, [sp, #20]
 194:	f8cd c010 	str.w	ip, [sp, #16]
 198:	f8cd e00c 	str.w	lr, [sp, #12]
 19c:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:104
        display.set_pixels(
 1a0:	4668      	mov	r0, sp
 1a2:	9903      	ldr	r1, [sp, #12]
 1a4:	6041      	str	r1, [r0, #4]
 1a6:	9a04      	ldr	r2, [sp, #16]
 1a8:	6002      	str	r2, [r0, #0]
 1aa:	9808      	ldr	r0, [sp, #32]
 1ac:	9907      	ldr	r1, [sp, #28]
 1ae:	9a06      	ldr	r2, [sp, #24]
 1b0:	9b05      	ldr	r3, [sp, #20]
 1b2:	f7ff fffe 	bl	0 <st7735_lcd::ST7735<SPI,DC,RST>::set_pixels>
 1b6:	f88d 0b53 	strb.w	r0, [sp, #2899]	; 0xb53
 1ba:	e796      	b.n	ea <piet_embedded_graphics::batch::draw_blocks+0xea>
 1bc:	f60d 000c 	addw	r0, sp, #2060	; 0x80c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:102
    for PixelBlock { x_left, x_right, y_top, y_bottom, colors, .. } in blocks {
 1c0:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
 1c4:	e7b9      	b.n	13a <piet_embedded_graphics::batch::draw_blocks+0x13a>

Disassembly of section .text._ZN22piet_embedded_graphics5batch7to_rows17h6ec1fe912a3d7235E:

00000000 <piet_embedded_graphics::batch::to_rows>:
_ZN22piet_embedded_graphics5batch7to_rows17h6ec1fe912a3d7235E():
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:122
fn to_rows<P>(pixels: P) -> RowIterator<P>
   0:	b510      	push	{r4, lr}
   2:	b0a4      	sub	sp, #144	; 0x90
   4:	aa02      	add	r2, sp, #8
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:126
        pixels,
   6:	e8b1 5018 	ldmia.w	r1!, {r3, r4, ip, lr}
   a:	e8a2 5018 	stmia.w	r2!, {r3, r4, ip, lr}
   e:	e891 5018 	ldmia.w	r1, {r3, r4, ip, lr}
  12:	e882 5018 	stmia.w	r2, {r3, r4, ip, lr}
  16:	a90a      	add	r1, sp, #40	; 0x28
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:130
        colors: RowColors::new(),
  18:	9001      	str	r0, [sp, #4]
  1a:	4608      	mov	r0, r1
  1c:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::new>
  20:	e7ff      	b.n	22 <piet_embedded_graphics::batch::to_rows+0x22>
  22:	a802      	add	r0, sp, #8
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:125
    RowIterator::<P> {
  24:	9901      	ldr	r1, [sp, #4]
  26:	e8b0 500c 	ldmia.w	r0!, {r2, r3, ip, lr}
  2a:	e8a1 500c 	stmia.w	r1!, {r2, r3, ip, lr}
  2e:	e890 500c 	ldmia.w	r0, {r2, r3, ip, lr}
  32:	e881 500c 	stmia.w	r1, {r2, r3, ip, lr}
  36:	2000      	movs	r0, #0
  38:	9901      	ldr	r1, [sp, #4]
  3a:	f881 0088 	strb.w	r0, [r1, #136]	; 0x88
  3e:	f881 0089 	strb.w	r0, [r1, #137]	; 0x89
  42:	f881 008a 	strb.w	r0, [r1, #138]	; 0x8a
  46:	f101 0020 	add.w	r0, r1, #32
  4a:	a90a      	add	r1, sp, #40	; 0x28
  4c:	2268      	movs	r2, #104	; 0x68
  4e:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  52:	2001      	movs	r0, #1
  54:	9901      	ldr	r1, [sp, #4]
  56:	f881 008b 	strb.w	r0, [r1, #139]	; 0x8b
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:133
}
  5a:	b024      	add	sp, #144	; 0x90
  5c:	bd10      	pop	{r4, pc}

Disassembly of section .text._ZN22piet_embedded_graphics5batch7to_rows17hd7c8b15b4fae2078E:

00000000 <piet_embedded_graphics::batch::to_rows>:
_ZN22piet_embedded_graphics5batch7to_rows17hd7c8b15b4fae2078E():
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:122
fn to_rows<P>(pixels: P) -> RowIterator<P>
   0:	b570      	push	{r4, r5, r6, lr}
   2:	b0a6      	sub	sp, #152	; 0x98
   4:	aa01      	add	r2, sp, #4
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:126
        pixels,
   6:	e8b1 5038 	ldmia.w	r1!, {r3, r4, r5, ip, lr}
   a:	e8a2 5038 	stmia.w	r2!, {r3, r4, r5, ip, lr}
   e:	e891 5078 	ldmia.w	r1, {r3, r4, r5, r6, ip, lr}
  12:	e882 5078 	stmia.w	r2, {r3, r4, r5, r6, ip, lr}
  16:	a90c      	add	r1, sp, #48	; 0x30
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:130
        colors: RowColors::new(),
  18:	9000      	str	r0, [sp, #0]
  1a:	4608      	mov	r0, r1
  1c:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::new>
  20:	e7ff      	b.n	22 <piet_embedded_graphics::batch::to_rows+0x22>
  22:	a801      	add	r0, sp, #4
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:125
    RowIterator::<P> {
  24:	9900      	ldr	r1, [sp, #0]
  26:	e8b0 501c 	ldmia.w	r0!, {r2, r3, r4, ip, lr}
  2a:	e8a1 501c 	stmia.w	r1!, {r2, r3, r4, ip, lr}
  2e:	e890 503c 	ldmia.w	r0, {r2, r3, r4, r5, ip, lr}
  32:	e881 503c 	stmia.w	r1, {r2, r3, r4, r5, ip, lr}
  36:	2000      	movs	r0, #0
  38:	9900      	ldr	r1, [sp, #0]
  3a:	f881 0094 	strb.w	r0, [r1, #148]	; 0x94
  3e:	f881 0095 	strb.w	r0, [r1, #149]	; 0x95
  42:	f881 0096 	strb.w	r0, [r1, #150]	; 0x96
  46:	f101 002c 	add.w	r0, r1, #44	; 0x2c
  4a:	a90c      	add	r1, sp, #48	; 0x30
  4c:	2268      	movs	r2, #104	; 0x68
  4e:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  52:	2001      	movs	r0, #1
  54:	9900      	ldr	r1, [sp, #0]
  56:	f881 0097 	strb.w	r0, [r1, #151]	; 0x97
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:133
}
  5a:	b026      	add	sp, #152	; 0x98
  5c:	bd70      	pop	{r4, r5, r6, pc}

Disassembly of section .text._ZN22piet_embedded_graphics5batch9to_blocks17h6a822a4f95cbe618E:

00000000 <piet_embedded_graphics::batch::to_blocks>:
_ZN22piet_embedded_graphics5batch9to_blocks17h6a822a4f95cbe618E():
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:137
fn to_blocks<R>(rows: R) -> BlockIterator<R>
   0:	b580      	push	{r7, lr}
   2:	b0da      	sub	sp, #360	; 0x168
   4:	aa01      	add	r2, sp, #4
   6:	2398      	movs	r3, #152	; 0x98
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:141
        rows,
   8:	9000      	str	r0, [sp, #0]
   a:	4610      	mov	r0, r2
   c:	461a      	mov	r2, r3
   e:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  12:	a827      	add	r0, sp, #156	; 0x9c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:146
        colors: BlockColors::new(),
  14:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::new>
  18:	e7ff      	b.n	1a <piet_embedded_graphics::batch::to_blocks+0x1a>
  1a:	a901      	add	r1, sp, #4
  1c:	2298      	movs	r2, #152	; 0x98
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:140
    BlockIterator::<R> {
  1e:	9800      	ldr	r0, [sp, #0]
  20:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  24:	2000      	movs	r0, #0
  26:	9900      	ldr	r1, [sp, #0]
  28:	f881 0164 	strb.w	r0, [r1, #356]	; 0x164
  2c:	f881 0165 	strb.w	r0, [r1, #357]	; 0x165
  30:	f881 0166 	strb.w	r0, [r1, #358]	; 0x166
  34:	f881 0167 	strb.w	r0, [r1, #359]	; 0x167
  38:	f101 0098 	add.w	r0, r1, #152	; 0x98
  3c:	a927      	add	r1, sp, #156	; 0x9c
  3e:	22cc      	movs	r2, #204	; 0xcc
  40:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  44:	2001      	movs	r0, #1
  46:	9900      	ldr	r1, [sp, #0]
  48:	f881 0168 	strb.w	r0, [r1, #360]	; 0x168
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:149
}    
  4c:	b05a      	add	sp, #360	; 0x168
  4e:	bd80      	pop	{r7, pc}

Disassembly of section .text._ZN22piet_embedded_graphics5batch9to_blocks17h6ec5af11f27a5a40E:

00000000 <piet_embedded_graphics::batch::to_blocks>:
_ZN22piet_embedded_graphics5batch9to_blocks17h6ec5af11f27a5a40E():
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:137
fn to_blocks<R>(rows: R) -> BlockIterator<R>
   0:	b580      	push	{r7, lr}
   2:	b0d8      	sub	sp, #352	; 0x160
   4:	aa02      	add	r2, sp, #8
   6:	238c      	movs	r3, #140	; 0x8c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:141
        rows,
   8:	9001      	str	r0, [sp, #4]
   a:	4610      	mov	r0, r2
   c:	461a      	mov	r2, r3
   e:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  12:	a825      	add	r0, sp, #148	; 0x94
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:146
        colors: BlockColors::new(),
  14:	f7ff fffe 	bl	0 <heapless::vec::Vec<T,N>::new>
  18:	e7ff      	b.n	1a <piet_embedded_graphics::batch::to_blocks+0x1a>
  1a:	a902      	add	r1, sp, #8
  1c:	228c      	movs	r2, #140	; 0x8c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:140
    BlockIterator::<R> {
  1e:	9801      	ldr	r0, [sp, #4]
  20:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  24:	2000      	movs	r0, #0
  26:	9901      	ldr	r1, [sp, #4]
  28:	f881 0158 	strb.w	r0, [r1, #344]	; 0x158
  2c:	f881 0159 	strb.w	r0, [r1, #345]	; 0x159
  30:	f881 015a 	strb.w	r0, [r1, #346]	; 0x15a
  34:	f881 015b 	strb.w	r0, [r1, #347]	; 0x15b
  38:	f101 008c 	add.w	r0, r1, #140	; 0x8c
  3c:	a925      	add	r1, sp, #148	; 0x94
  3e:	22cc      	movs	r2, #204	; 0xcc
  40:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
  44:	2001      	movs	r0, #1
  46:	9901      	ldr	r1, [sp, #4]
  48:	f881 015c 	strb.w	r0, [r1, #348]	; 0x15c
C:\PineTime\pinetime-rust-mynewt\rust\piet-embedded\piet-embedded-graphics\src/batch.rs:149
}    
  4c:	b058      	add	sp, #352	; 0x160
  4e:	bd80      	pop	{r7, pc}

Disassembly of section .text._ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h4e0635c4bfd4be8bE:

00000000 <<I as core::iter::traits::collect::IntoIterator>::into_iter>:
_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h4e0635c4bfd4be8bE():
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/iter/traits/collect.rs:247
   0:	b580      	push	{r7, lr}
   2:	f44f 72b0 	mov.w	r2, #352	; 0x160
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/iter/traits/collect.rs:248
   6:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/iter/traits/collect.rs:249
   a:	bd80      	pop	{r7, pc}

Disassembly of section .text._ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hb317975b656eac83E:

00000000 <<I as core::iter::traits::collect::IntoIterator>::into_iter>:
_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hb317975b656eac83E():
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/iter/traits/collect.rs:247
   0:	b580      	push	{r7, lr}
   2:	f44f 72b6 	mov.w	r2, #364	; 0x16c
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/iter/traits/collect.rs:248
   6:	f7ff fffe 	bl	0 <__aeabi_memcpy4>
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/iter/traits/collect.rs:249
   a:	bd80      	pop	{r7, pc}

app-2c84bd17359ee43e.3ba6gnocekb9a90f.rcgu.o:     file format elf32-littlearm

SYMBOL TABLE:
00000000 l    df *ABS*	00000000 3ba6gnocekb9a90f
00000170 l       .debug_str	00000000 
000003a5 l       .debug_str	00000000 
000003ac l       .debug_str	00000000 
000003a3 l       .debug_str	00000000 
00000395 l       .debug_str	00000000 
00000000 l       .debug_str	00000000 
00000041 l       .debug_str	00000000 
00000055 l       .debug_str	00000000 
00000076 l       .debug_str	00000000 
0000007b l       .debug_str	00000000 
00000082 l       .debug_str	00000000 
00000086 l       .debug_str	00000000 
0000008b l       .debug_str	00000000 
0000008f l       .debug_str	00000000 
00000093 l       .debug_str	00000000 
00000097 l       .debug_str	00000000 
0000009b l       .debug_str	00000000 
000000ad l       .debug_str	00000000 
000000b8 l       .debug_str	00000000 
000000bf l       .debug_str	00000000 
000000c3 l       .debug_str	00000000 
000000ca l       .debug_str	00000000 
00000104 l       .debug_str	00000000 
00000106 l       .debug_str	00000000 
0000010b l       .debug_str	00000000 
0000014d l       .debug_str	00000000 
00000156 l       .debug_str	00000000 
00000159 l       .debug_str	00000000 
00000163 l       .debug_str	00000000 
0000016a l       .debug_str	00000000 
00000359 l       .debug_str	00000000 
00000175 l       .debug_str	00000000 
0000017b l       .debug_str	00000000 
00000189 l       .debug_str	00000000 
00000192 l       .debug_str	00000000 
000001a0 l       .debug_str	00000000 
000001b8 l       .debug_str	00000000 
000001c6 l       .debug_str	00000000 
000001c8 l       .debug_str	00000000 
000001fd l       .debug_str	00000000 
000001ff l       .debug_str	00000000 
0000020a l       .debug_str	00000000 
00000211 l       .debug_str	00000000 
0000021a l       .debug_str	00000000 
0000021f l       .debug_str	00000000 
00000229 l       .debug_str	00000000 
0000022b l       .debug_str	00000000 
00000264 l       .debug_str	00000000 
000002ff l       .debug_str	00000000 
000003a7 l       .debug_str	00000000 
00000000 l     O .rodata..Lanon.3ac8fc5001894b63a2d031c0e97ebb3e.0	0000002b .Lanon.3ac8fc5001894b63a2d031c0e97ebb3e.0
00000000 l    d  .text._ZN4core6option15Option$LT$T$GT$3map17h41be973f67e085b3E	00000000 .text._ZN4core6option15Option$LT$T$GT$3map17h41be973f67e085b3E
00000000 l    d  .text._ZN4core6option15Option$LT$T$GT$6unwrap17h97d687801832c3d4E	00000000 .text._ZN4core6option15Option$LT$T$GT$6unwrap17h97d687801832c3d4E
00000000 l    d  .debug_loc	00000000 .debug_loc
00000000 l    d  .debug_abbrev	00000000 .debug_abbrev
00000000 l    d  .debug_info	00000000 .debug_info
00000000 l    d  .debug_ranges	00000000 .debug_ranges
00000000 l    d  .debug_frame	00000000 .debug_frame
00000000 l    d  .debug_line	00000000 .debug_line
00000000         *UND*	00000000 <embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next::{{closure}}
00000000 g     F .text._ZN4core6option15Option$LT$T$GT$3map17h41be973f67e085b3E	000000ba core::option::Option<T>::map
00000000 g     F .text._ZN4core6option15Option$LT$T$GT$6unwrap17h97d687801832c3d4E	00000044 core::option::Option<T>::unwrap
00000000         *UND*	00000000 core::panicking::panic



Disassembly of section .text._ZN4core6option15Option$LT$T$GT$3map17h41be973f67e085b3E:

00000000 <core::option::Option<T>::map>:
_ZN4core6option15Option$LT$T$GT$3map17h41be973f67e085b3E():
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/option.rs:448
   0:	b580      	push	{r7, lr}
   2:	b090      	sub	sp, #64	; 0x40
   4:	2200      	movs	r2, #0
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/option.rs:450
   6:	f88d 203e 	strb.w	r2, [sp, #62]	; 0x3e
   a:	f88d 203f 	strb.w	r2, [sp, #63]	; 0x3f
   e:	2201      	movs	r2, #1
  10:	f88d 203f 	strb.w	r2, [sp, #63]	; 0x3f
  14:	f88d 203e 	strb.w	r2, [sp, #62]	; 0x3e
  18:	680a      	ldr	r2, [r1, #0]
  1a:	2a00      	cmp	r2, #0
  1c:	9101      	str	r1, [sp, #4]
  1e:	9000      	str	r0, [sp, #0]
  20:	d001      	beq.n	26 <core::option::Option<T>::map+0x26>
  22:	e7ff      	b.n	24 <core::option::Option<T>::map+0x24>
  24:	e004      	b.n	30 <core::option::Option<T>::map+0x30>
  26:	2000      	movs	r0, #0
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/option.rs:451
  28:	9900      	ldr	r1, [sp, #0]
  2a:	6008      	str	r0, [r1, #0]
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/option.rs:449
  2c:	e032      	b.n	94 <core::option::Option<T>::map+0x94>
  2e:	defe      	udf	#254	; 0xfe
  30:	2000      	movs	r0, #0
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/option.rs:450
  32:	f88d 003f 	strb.w	r0, [sp, #63]	; 0x3f
  36:	9901      	ldr	r1, [sp, #4]
  38:	684a      	ldr	r2, [r1, #4]
  3a:	688b      	ldr	r3, [r1, #8]
  3c:	f8d1 c00c 	ldr.w	ip, [r1, #12]
  40:	f8cd c014 	str.w	ip, [sp, #20]
  44:	9304      	str	r3, [sp, #16]
  46:	9203      	str	r2, [sp, #12]
  48:	f88d 003e 	strb.w	r0, [sp, #62]	; 0x3e
  4c:	9803      	ldr	r0, [sp, #12]
  4e:	9a04      	ldr	r2, [sp, #16]
  50:	9b05      	ldr	r3, [sp, #20]
  52:	930e      	str	r3, [sp, #56]	; 0x38
  54:	920d      	str	r2, [sp, #52]	; 0x34
  56:	900c      	str	r0, [sp, #48]	; 0x30
  58:	980c      	ldr	r0, [sp, #48]	; 0x30
  5a:	9a0d      	ldr	r2, [sp, #52]	; 0x34
  5c:	9b0e      	ldr	r3, [sp, #56]	; 0x38
  5e:	930b      	str	r3, [sp, #44]	; 0x2c
  60:	920a      	str	r2, [sp, #40]	; 0x28
  62:	9009      	str	r0, [sp, #36]	; 0x24
  64:	a806      	add	r0, sp, #24
  66:	a909      	add	r1, sp, #36	; 0x24
  68:	f7ff fffe 	bl	0 <<embedded_graphics::primitives::circle::CircleIterator<C> as core::iter::traits::iterator::Iterator>::next::{{closure}}>
  6c:	e7ff      	b.n	6e <core::option::Option<T>::map+0x6e>
  6e:	9806      	ldr	r0, [sp, #24]
  70:	9907      	ldr	r1, [sp, #28]
  72:	9a08      	ldr	r2, [sp, #32]
  74:	9b00      	ldr	r3, [sp, #0]
  76:	60da      	str	r2, [r3, #12]
  78:	6099      	str	r1, [r3, #8]
  7a:	6058      	str	r0, [r3, #4]
  7c:	2001      	movs	r0, #1
  7e:	6018      	str	r0, [r3, #0]
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/option.rs:453
  80:	e008      	b.n	94 <core::option::Option<T>::map+0x94>
  82:	9801      	ldr	r0, [sp, #4]
  84:	6801      	ldr	r1, [r0, #0]
  86:	2901      	cmp	r1, #1
  88:	d00c      	beq.n	a4 <core::option::Option<T>::map+0xa4>
  8a:	e015      	b.n	b8 <core::option::Option<T>::map+0xb8>
  8c:	2000      	movs	r0, #0
  8e:	f88d 003e 	strb.w	r0, [sp, #62]	; 0x3e
  92:	e7f6      	b.n	82 <core::option::Option<T>::map+0x82>
  94:	f89d 003e 	ldrb.w	r0, [sp, #62]	; 0x3e
  98:	07c0      	lsls	r0, r0, #31
  9a:	2800      	cmp	r0, #0
  9c:	d1f6      	bne.n	8c <core::option::Option<T>::map+0x8c>
  9e:	e7f0      	b.n	82 <core::option::Option<T>::map+0x82>
  a0:	b010      	add	sp, #64	; 0x40
  a2:	bd80      	pop	{r7, pc}
  a4:	f89d 003f 	ldrb.w	r0, [sp, #63]	; 0x3f
  a8:	07c0      	lsls	r0, r0, #31
  aa:	2800      	cmp	r0, #0
  ac:	d0f8      	beq.n	a0 <core::option::Option<T>::map+0xa0>
  ae:	e7ff      	b.n	b0 <core::option::Option<T>::map+0xb0>
  b0:	2000      	movs	r0, #0
  b2:	f88d 003f 	strb.w	r0, [sp, #63]	; 0x3f
  b6:	e7f3      	b.n	a0 <core::option::Option<T>::map+0xa0>
  b8:	e7f2      	b.n	a0 <core::option::Option<T>::map+0xa0>

Disassembly of section .text._ZN4core6option15Option$LT$T$GT$6unwrap17h97d687801832c3d4E:

00000000 <core::option::Option<T>::unwrap>:
_ZN4core6option15Option$LT$T$GT$6unwrap17h97d687801832c3d4E():
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/option.rs:378
   0:	b084      	sub	sp, #16
   2:	9002      	str	r0, [sp, #8]
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/option.rs:380
   4:	9802      	ldr	r0, [sp, #8]
   6:	2800      	cmp	r0, #0
   8:	4602      	mov	r2, r0
   a:	bf18      	it	ne
   c:	2201      	movne	r2, #1
   e:	2800      	cmp	r0, #0
  10:	9101      	str	r1, [sp, #4]
  12:	d001      	beq.n	18 <core::option::Option<T>::unwrap+0x18>
  14:	e7ff      	b.n	16 <core::option::Option<T>::unwrap+0x16>
  16:	e009      	b.n	2c <core::option::Option<T>::unwrap+0x2c>
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/macros/mod.rs:10
  18:	f240 0000 	movw	r0, #0
  1c:	f2c0 0000 	movt	r0, #0
  20:	212b      	movs	r1, #43	; 0x2b
  22:	9a01      	ldr	r2, [sp, #4]
  24:	f7ff fffe 	bl	0 <core::panicking::panic>
  28:	defe      	udf	#254	; 0xfe
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/option.rs:379
  2a:	defe      	udf	#254	; 0xfe
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/option.rs:380
  2c:	9802      	ldr	r0, [sp, #8]
  2e:	9003      	str	r0, [sp, #12]
  30:	9803      	ldr	r0, [sp, #12]
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/option.rs:383
  32:	9902      	ldr	r1, [sp, #8]
  34:	2900      	cmp	r1, #0
  36:	9000      	str	r0, [sp, #0]
  38:	d003      	beq.n	42 <core::option::Option<T>::unwrap+0x42>
  3a:	e7ff      	b.n	3c <core::option::Option<T>::unwrap+0x3c>
  3c:	9800      	ldr	r0, [sp, #0]
  3e:	b004      	add	sp, #16
  40:	4770      	bx	lr
  42:	e7fb      	b.n	3c <core::option::Option<T>::unwrap+0x3c>

app-2c84bd17359ee43e.3suc6ryypl5obghe.rcgu.o:     file format elf32-littlearm

SYMBOL TABLE:
00000000 l    df *ABS*	00000000 3suc6ryypl5obghe
00000475 l       .debug_str	00000000 
0000299f l       .debug_str	00000000 
00002cf2 l       .debug_str	00000000 
0000296f l       .debug_str	00000000 
00002c22 l       .debug_str	00000000 
00002895 l       .debug_str	00000000 
00002c01 l       .debug_str	00000000 
00002865 l       .debug_str	00000000 
00002b3d l       .debug_str	00000000 
0000283a l       .debug_str	00000000 
00000000 l       .debug_str	00000000 
00000041 l       .debug_str	00000000 
00000055 l       .debug_str	00000000 
00000076 l       .debug_str	00000000 
0000007d l       .debug_str	00000000 
00000084 l       .debug_str	00000000 
00000088 l       .debug_str	00000000 
00000090 l       .debug_str	00000000 
0000009b l       .debug_str	00000000 
000000a6 l       .debug_str	00000000 
000000b3 l       .debug_str	00000000 
000000be l       .debug_str	00000000 
000000c6 l       .debug_str	00000000 
000000d1 l       .debug_str	00000000 
000000dc l       .debug_str	00000000 
000000e6 l       .debug_str	00000000 
000000f1 l       .debug_str	00000000 
000000fc l       .debug_str	00000000 
00000109 l       .debug_str	00000000 
00000115 l       .debug_str	00000000 
00000122 l       .debug_str	00000000 
00000130 l       .debug_str	00000000 
0000013a l       .debug_str	00000000 
00000147 l       .debug_str	00000000 
0000015b l       .debug_str	00000000 
0000016d l       .debug_str	00000000 
00000181 l       .debug_str	00000000 
00000197 l       .debug_str	00000000 
000001ad l       .debug_str	00000000 
000001b9 l       .debug_str	00000000 
000001be l       .debug_str	00000000 
000001c2 l       .debug_str	00000000 
000001d9 l       .debug_str	00000000 
000001df l       .debug_str	00000000 
000001e4 l       .debug_str	00000000 
000001eb l       .debug_str	00000000 
000001fd l       .debug_str	00000000 
00000203 l       .debug_str	00000000 
00000210 l       .debug_str	00000000 
0000021c l       .debug_str	00000000 
00000220 l       .debug_str	00000000 
0000022c l       .debug_str	00000000 
00000239 l       .debug_str	00000000 
00000240 l       .debug_str	00000000 
00000245 l       .debug_str	00000000 
0000024a l       .debug_str	00000000 
0000024c l       .debug_str	00000000 
00000251 l       .debug_str	00000000 
00000255 l       .debug_str	00000000 
00000262 l       .debug_str	00000000 
00000266 l       .debug_str	00000000 
0000026c l       .debug_str	00000000 
00000270 l       .debug_str	00000000 
00000276 l       .debug_str	00000000 
00000285 l       .debug_str	00000000 
00000289 l       .debug_str	00000000 
0000028f l       .debug_str	00000000 
00000294 l       .debug_str	00000000 
0000029d l       .debug_str	00000000 
000002a0 l       .debug_str	00000000 
000002aa l       .debug_str	00000000 
000002b1 l       .debug_str	00000000 
000002b6 l       .debug_str	00000000 
000002bc l       .debug_str	00000000 
000002c7 l       .debug_str	00000000 
000002cb l       .debug_str	00000000 
000002d6 l       .debug_str	00000000 
000002dd l       .debug_str	00000000 
000002e4 l       .debug_str	00000000 
0000031a l       .debug_str	00000000 
00000327 l       .debug_str	00000000 
00000334 l       .debug_str	00000000 
00000336 l       .debug_str	00000000 
0000036b l       .debug_str	00000000 
00000371 l       .debug_str	00000000 
00000378 l       .debug_str	00000000 
00000382 l       .debug_str	00000000 
00000390 l       .debug_str	00000000 
000003d0 l       .debug_str	00000000 
000003d2 l       .debug_str	00000000 
000003d7 l       .debug_str	00000000 
0000044e l       .debug_str	00000000 
00000455 l       .debug_str	00000000 
0000045d l       .debug_str	00000000 
0000045f l       .debug_str	00000000 
00000466 l       .debug_str	00000000 
0000046f l       .debug_str	00000000 
00000473 l       .debug_str	00000000 
0000280a l       .debug_str	00000000 
0000047c l       .debug_str	00000000 
00000480 l       .debug_str	00000000 
0000048d l       .debug_str	00000000 
00000494 l       .debug_str	00000000 
00000497 l       .debug_str	00000000 
0000049d l       .debug_str	00000000 
000004ab l       .debug_str	00000000 
000004b9 l       .debug_str	00000000 
000004be l       .debug_str	00000000 
000004c6 l       .debug_str	00000000 
000004ce l       .debug_str	00000000 
000004d0 l       .debug_str	00000000 
000004ed l       .debug_str	00000000 
00000533 l       .debug_str	00000000 
0000053b l       .debug_str	00000000 
0000054c l       .debug_str	00000000 
000005bc l       .debug_str	00000000 
00000656 l       .debug_str	00000000 
00000719 l       .debug_str	00000000 
00000806 l       .debug_str	00000000 
0000080e l       .debug_str	00000000 
00000813 l       .debug_str	00000000 
00000819 l       .debug_str	00000000 
0000081d l       .debug_str	00000000 
00000820 l       .debug_str	00000000 
00000849 l       .debug_str	00000000 
0000087f l       .debug_str	00000000 
00000881 l       .debug_str	00000000 
000008ae l       .debug_str	00000000 
000008fe l       .debug_str	00000000 
0000095b l       .debug_str	00000000 
000009af l       .debug_str	00000000 
000009b2 l       .debug_str	00000000 
00000a29 l       .debug_str	00000000 
00000aad l       .debug_str	00000000 
00000b28 l       .debug_str	00000000 
00000bc6 l       .debug_str	00000000 
00000c71 l       .debug_str	00000000 
00000d13 l       .debug_str	00000000 
00000dd8 l       .debug_str	00000000 
00000eaa l       .debug_str	00000000 
00000f73 l       .debug_str	00000000 
0000105f l       .debug_str	00000000 
00001158 l       .debug_str	00000000 
00001248 l       .debug_str	00000000 
0000135a l       .debug_str	00000000 
00001489 l       .debug_str	00000000 
000015b7 l       .debug_str	00000000 
000015bb l       .debug_str	00000000 
000015bd l       .debug_str	00000000 
000016e3 l       .debug_str	00000000 
000016e5 l       .debug_str	00000000 
000017ee l       .debug_str	00000000 
000017fa l       .debug_str	00000000 
000017ff l       .debug_str	00000000 
000018ab l       .debug_str	00000000 
000018b1 l       .debug_str	00000000 
000018ba l       .debug_str	00000000 
000019d1 l       .debug_str	00000000 
00001ae4 l       .debug_str	00000000 
00001c04 l       .debug_str	00000000 
00001d1b l       .debug_str	00000000 
00001e54 l       .debug_str	00000000 
00001faa l       .debug_str	00000000 
000020ff l       .debug_str	00000000 
0000224c l       .debug_str	00000000 
0000237c l       .debug_str	00000000 
00002386 l       .debug_str	00000000 
00002388 l       .debug_str	00000000 
00002462 l       .debug_str	00000000 
00002492 l       .debug_str	00000000 
0000259a l       .debug_str	00000000 
000025a5 l       .debug_str	00000000 
000025ac l       .debug_str	00000000 
000025b3 l       .debug_str	00000000 
000025ba l       .debug_str	00000000 
000025bc l       .debug_str	00000000 
000025fa l       .debug_str	00000000 
0000266c l       .debug_str	00000000 
0000270c l       .debug_str	00000000 
0000273c l       .debug_str	00000000 
00002a3f l       .debug_str	00000000 
00000000 l    d  .text._ZN4core3ptr13drop_in_place17h563d278411084e37E	00000000 .text._ZN4core3ptr13drop_in_place17h563d278411084e37E
00000000 l    d  .text._ZN4core3ptr13drop_in_place17h59603fecc0306623E	00000000 .text._ZN4core3ptr13drop_in_place17h59603fecc0306623E
00000000 l    d  .text._ZN4core3ptr13drop_in_place17h62400211614bee3fE	00000000 .text._ZN4core3ptr13drop_in_place17h62400211614bee3fE
00000000 l    d  .text._ZN4core3ptr13drop_in_place17h7a541a52138ff888E	00000000 .text._ZN4core3ptr13drop_in_place17h7a541a52138ff888E
00000000 l    d  .text._ZN4core3ptr13drop_in_place17hf243f15af394dcf8E	00000000 .text._ZN4core3ptr13drop_in_place17hf243f15af394dcf8E
00000000 l    d  .debug_abbrev	00000000 .debug_abbrev
00000000 l    d  .debug_info	00000000 .debug_info
00000000 l    d  .debug_ranges	00000000 .debug_ranges
00000000 l    d  .debug_frame	00000000 .debug_frame
00000000 l    d  .debug_line	00000000 .debug_line
00000000         *UND*	00000000 core::ptr::drop_in_place
00000000 g     F .text._ZN4core3ptr13drop_in_place17h563d278411084e37E	0000001c core::ptr::drop_in_place
00000000 g     F .text._ZN4core3ptr13drop_in_place17h59603fecc0306623E	0000001c core::ptr::drop_in_place
00000000 g     F .text._ZN4core3ptr13drop_in_place17h62400211614bee3fE	00000008 .hidden core::ptr::drop_in_place
00000000 g     F .text._ZN4core3ptr13drop_in_place17h7a541a52138ff888E	00000014 core::ptr::drop_in_place
00000000         *UND*	00000000 core::ptr::drop_in_place
00000000 g     F .text._ZN4core3ptr13drop_in_place17hf243f15af394dcf8E	00000014 core::ptr::drop_in_place



Disassembly of section .text._ZN4core3ptr13drop_in_place17h563d278411084e37E:

00000000 <core::ptr::drop_in_place>:
_ZN4core3ptr13drop_in_place17h563d278411084e37E():
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/ptr/mod.rs:174
   0:	b580      	push	{r7, lr}
   2:	b082      	sub	sp, #8
   4:	9001      	str	r0, [sp, #4]
   6:	9801      	ldr	r0, [sp, #4]
   8:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
   c:	e001      	b.n	12 <core::ptr::drop_in_place+0x12>
   e:	b002      	add	sp, #8
  10:	bd80      	pop	{r7, pc}
  12:	9801      	ldr	r0, [sp, #4]
  14:	3098      	adds	r0, #152	; 0x98
  16:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
  1a:	e7f8      	b.n	e <core::ptr::drop_in_place+0xe>

Disassembly of section .text._ZN4core3ptr13drop_in_place17h59603fecc0306623E:

00000000 <core::ptr::drop_in_place>:
_ZN4core3ptr13drop_in_place17h59603fecc0306623E():
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/ptr/mod.rs:174
   0:	b580      	push	{r7, lr}
   2:	b082      	sub	sp, #8
   4:	9001      	str	r0, [sp, #4]
   6:	9801      	ldr	r0, [sp, #4]
   8:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
   c:	e001      	b.n	12 <core::ptr::drop_in_place+0x12>
   e:	b002      	add	sp, #8
  10:	bd80      	pop	{r7, pc}
  12:	9801      	ldr	r0, [sp, #4]
  14:	308c      	adds	r0, #140	; 0x8c
  16:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
  1a:	e7f8      	b.n	e <core::ptr::drop_in_place+0xe>

Disassembly of section .text._ZN4core3ptr13drop_in_place17h62400211614bee3fE:

00000000 <core::ptr::drop_in_place>:
_ZN4core3ptr13drop_in_place17h62400211614bee3fE():
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/ptr/mod.rs:174
   0:	b081      	sub	sp, #4
   2:	9000      	str	r0, [sp, #0]
   4:	b001      	add	sp, #4
   6:	4770      	bx	lr

Disassembly of section .text._ZN4core3ptr13drop_in_place17h7a541a52138ff888E:

00000000 <core::ptr::drop_in_place>:
_ZN4core3ptr13drop_in_place17h7a541a52138ff888E():
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/ptr/mod.rs:174
   0:	b580      	push	{r7, lr}
   2:	b082      	sub	sp, #8
   4:	9001      	str	r0, [sp, #4]
   6:	9801      	ldr	r0, [sp, #4]
   8:	302c      	adds	r0, #44	; 0x2c
   a:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
   e:	e7ff      	b.n	10 <core::ptr::drop_in_place+0x10>
  10:	b002      	add	sp, #8
  12:	bd80      	pop	{r7, pc}

Disassembly of section .text._ZN4core3ptr13drop_in_place17hf243f15af394dcf8E:

00000000 <core::ptr::drop_in_place>:
_ZN4core3ptr13drop_in_place17hf243f15af394dcf8E():
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/ptr/mod.rs:174
   0:	b580      	push	{r7, lr}
   2:	b082      	sub	sp, #8
   4:	9001      	str	r0, [sp, #4]
   6:	9801      	ldr	r0, [sp, #4]
   8:	3020      	adds	r0, #32
   a:	f7ff fffe 	bl	0 <core::ptr::drop_in_place>
   e:	e7ff      	b.n	10 <core::ptr::drop_in_place+0x10>
  10:	b002      	add	sp, #8
  12:	bd80      	pop	{r7, pc}

app-2c84bd17359ee43e.4caoucu3tq1q1ug7.rcgu.o:     file format elf32-littlearm

SYMBOL TABLE:
00000000 l    df *ABS*	00000000 4caoucu3tq1q1ug7
000000ec l       .debug_str	00000000 
0000011d l       .debug_str	00000000 
00000000 l       .debug_str	00000000 
00000041 l       .debug_str	00000000 
00000055 l       .debug_str	00000000 
00000076 l       .debug_str	00000000 
0000007b l       .debug_str	00000000 
0000007f l       .debug_str	00000000 
00000088 l       .debug_str	00000000 
000000df l       .debug_str	00000000 
000000e2 l       .debug_str	00000000 
000000e7 l       .debug_str	00000000 
00000112 l       .debug_str	00000000 
000000ee l       .debug_str	00000000 
000000f2 l       .debug_str	00000000 
000000f9 l       .debug_str	00000000 
0000010c l       .debug_str	00000000 
00000122 l       .debug_str	00000000 
00000000 l    d  .text._ZN58_$LT$core..any..TypeId$u20$as$u20$core..cmp..PartialEq$GT$2eq17hae3f612b91667756E	00000000 .text._ZN58_$LT$core..any..TypeId$u20$as$u20$core..cmp..PartialEq$GT$2eq17hae3f612b91667756E
00000000 l    d  .debug_abbrev	00000000 .debug_abbrev
00000000 l    d  .debug_info	00000000 .debug_info
00000000 l    d  .debug_frame	00000000 .debug_frame
00000000 l    d  .debug_line	00000000 .debug_line
00000000 g     F .text._ZN58_$LT$core..any..TypeId$u20$as$u20$core..cmp..PartialEq$GT$2eq17hae3f612b91667756E	0000002a .hidden <core::any::TypeId as core::cmp::PartialEq>::eq



Disassembly of section .text._ZN58_$LT$core..any..TypeId$u20$as$u20$core..cmp..PartialEq$GT$2eq17hae3f612b91667756E:

00000000 <<core::any::TypeId as core::cmp::PartialEq>::eq>:
_ZN58_$LT$core..any..TypeId$u20$as$u20$core..cmp..PartialEq$GT$2eq17hae3f612b91667756E():
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:415
   0:	b084      	sub	sp, #16
   2:	9000      	str	r0, [sp, #0]
   4:	9101      	str	r1, [sp, #4]
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:418
   6:	9801      	ldr	r0, [sp, #4]
   8:	9002      	str	r0, [sp, #8]
   a:	9800      	ldr	r0, [sp, #0]
   c:	9003      	str	r0, [sp, #12]
   e:	9803      	ldr	r0, [sp, #12]
  10:	6801      	ldr	r1, [r0, #0]
  12:	6840      	ldr	r0, [r0, #4]
  14:	9a02      	ldr	r2, [sp, #8]
  16:	6813      	ldr	r3, [r2, #0]
  18:	6852      	ldr	r2, [r2, #4]
  1a:	4050      	eors	r0, r2
  1c:	4059      	eors	r1, r3
  1e:	4308      	orrs	r0, r1
  20:	fab0 f080 	clz	r0, r0
  24:	0940      	lsrs	r0, r0, #5
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:415
  26:	b004      	add	sp, #16
  28:	4770      	bx	lr

app-2c84bd17359ee43e.4l2nlx5j4qrnqhb3.rcgu.o:     file format elf32-littlearm

SYMBOL TABLE:
00000000 l    df *ABS*	00000000 4l2nlx5j4qrnqhb3
000004c9 l       .debug_str	00000000 
00000e32 l       .debug_str	00000000 
00000e2d l       .debug_str	00000000 
00000e26 l       .debug_str	00000000 
00000e03 l       .debug_str	00000000 
00000df9 l       .debug_str	00000000 
00000de1 l       .debug_str	00000000 
00000dba l       .debug_str	00000000 
00000db0 l       .debug_str	00000000 
00000da5 l       .debug_str	00000000 
00000d9c l       .debug_str	00000000 
00000d93 l       .debug_str	00000000 
00000d72 l       .debug_str	00000000 
00000edf l       .debug_str	00000000 
00000d6a l       .debug_str	00000000 
00000d54 l       .debug_str	00000000 
00000d49 l       .debug_str	00000000 
00000eda l       .debug_str	00000000 
00000d33 l       .debug_str	00000000 
00000d0d l       .debug_str	00000000 
00000d04 l       .debug_str	00000000 
00000cfb l       .debug_str	00000000 
00000cf1 l       .debug_str	00000000 
00000cdb l       .debug_str	00000000 
00000ed0 l       .debug_str	00000000 
00000ccc l       .debug_str	00000000 
00000cbf l       .debug_str	00000000 
00000cb4 l       .debug_str	00000000 
00000ca6 l       .debug_str	00000000 
00000c96 l       .debug_str	00000000 
00000c78 l       .debug_str	00000000 
00000c6f l       .debug_str	00000000 
00000c67 l       .debug_str	00000000 
00000c60 l       .debug_str	00000000 
00000bfa l       .debug_str	00000000 
00000b9c l       .debug_str	00000000 
00000b73 l       .debug_str	00000000 
00000b6b l       .debug_str	00000000 
00000b5b l       .debug_str	00000000 
00000b4b l       .debug_str	00000000 
00000b3c l       .debug_str	00000000 
00000b36 l       .debug_str	00000000 
00000b30 l       .debug_str	00000000 
00000afb l       .debug_str	00000000 
00000ace l       .debug_str	00000000 
00000ac7 l       .debug_str	00000000 
00000ac0 l       .debug_str	00000000 
00000aba l       .debug_str	00000000 
00000ab0 l       .debug_str	00000000 
00000aa8 l       .debug_str	00000000 
00000aa0 l       .debug_str	00000000 
00000a99 l       .debug_str	00000000 
00000a90 l       .debug_str	00000000 
00000a84 l       .debug_str	00000000 
00000a79 l       .debug_str	00000000 
00000a70 l       .debug_str	00000000 
00000a65 l       .debug_str	00000000 
00000a5b l       .debug_str	00000000 
00000a55 l       .debug_str	00000000 
00000a51 l       .debug_str	00000000 
00000a3b l       .debug_str	00000000 
00000a31 l       .debug_str	00000000 
00000a18 l       .debug_str	00000000 
000009fb l       .debug_str	00000000 
000009f0 l       .debug_str	00000000 
00000992 l       .debug_str	00000000 
00000978 l       .debug_str	00000000 
0000096e l       .debug_str	00000000 
00000ec2 l       .debug_str	00000000 
00000963 l       .debug_str	00000000 
0000095f l       .debug_str	00000000 
00000951 l       .debug_str	00000000 
00000947 l       .debug_str	00000000 
00000936 l       .debug_str	00000000 
00000931 l       .debug_str	00000000 
00000918 l       .debug_str	00000000 
0000090c l       .debug_str	00000000 
00000900 l       .debug_str	00000000 
00000eb3 l       .debug_str	00000000 
00000eae l       .debug_str	00000000 
000008f9 l       .debug_str	00000000 
00000ea8 l       .debug_str	00000000 
00000ea1 l       .debug_str	00000000 
00000e9b l       .debug_str	00000000 
00000e94 l       .debug_str	00000000 
00000e8c l       .debug_str	00000000 
00000e65 l       .debug_str	00000000 
00000e60 l       .debug_str	00000000 
00000e5e l       .debug_str	00000000 
00000e5a l       .debug_str	00000000 
00000e53 l       .debug_str	00000000 
00000e46 l       .debug_str	00000000 
00000e42 l       .debug_str	00000000 
00000e3e l       .debug_str	00000000 
00000000 l       .debug_str	00000000 
00000041 l       .debug_str	00000000 
00000055 l       .debug_str	00000000 
00000076 l       .debug_str	00000000 
0000007a l       .debug_str	00000000 
00000087 l       .debug_str	00000000 
00000093 l       .debug_str	00000000 
0000009a l       .debug_str	00000000 
0000009e l       .debug_str	00000000 
000000a2 l       .debug_str	00000000 
000000a6 l       .debug_str	00000000 
000000ab l       .debug_str	00000000 
000000e2 l       .debug_str	00000000 
000000ee l       .debug_str	00000000 
000000f4 l       .debug_str	00000000 
0000012b l       .debug_str	00000000 
00000136 l       .debug_str	00000000 
0000013e l       .debug_str	00000000 
00000140 l       .debug_str	00000000 
00000144 l       .debug_str	00000000 
00000146 l       .debug_str	00000000 
0000014d l       .debug_str	00000000 
00000150 l       .debug_str	00000000 
00000157 l       .debug_str	00000000 
00000160 l       .debug_str	00000000 
00000165 l       .debug_str	00000000 
0000016f l       .debug_str	00000000 
00000183 l       .debug_str	00000000 
00000189 l       .debug_str	00000000 
00000193 l       .debug_str	00000000 
000001a2 l       .debug_str	00000000 
000001d8 l       .debug_str	00000000 
000001dc l       .debug_str	00000000 
0000020a l       .debug_str	00000000 
00000216 l       .debug_str	00000000 
0000021d l       .debug_str	00000000 
00000220 l       .debug_str	00000000 
0000022a l       .debug_str	00000000 
00000230 l       .debug_str	00000000 
00000235 l       .debug_str	00000000 
0000023c l       .debug_str	00000000 
00000240 l       .debug_str	00000000 
00000245 l       .debug_str	00000000 
00000267 l       .debug_str	00000000 
0000029f l       .debug_str	00000000 
000002a1 l       .debug_str	00000000 
000002a6 l       .debug_str	00000000 
000002aa l       .debug_str	00000000 
000002ea l       .debug_str	00000000 
000002f1 l       .debug_str	00000000 
000002f5 l       .debug_str	00000000 
00000300 l       .debug_str	00000000 
0000030b l       .debug_str	00000000 
00000312 l       .debug_str	00000000 
00000329 l       .debug_str	00000000 
00000331 l       .debug_str	00000000 
0000033b l       .debug_str	00000000 
00000352 l       .debug_str	00000000 
0000035b l       .debug_str	00000000 
00000392 l       .debug_str	00000000 
0000039b l       .debug_str	00000000 
0000039e l       .debug_str	00000000 
000003a6 l       .debug_str	00000000 
000003aa l       .debug_str	00000000 
000003b1 l       .debug_str	00000000 
000003b9 l       .debug_str	00000000 
000003cd l       .debug_str	00000000 
00000400 l       .debug_str	00000000 
0000040b l       .debug_str	00000000 
00000441 l       .debug_str	00000000 
00000448 l       .debug_str	00000000 
00000450 l       .debug_str	00000000 
0000045b l       .debug_str	00000000 
00000466 l       .debug_str	00000000 
00000473 l       .debug_str	00000000 
0000047e l       .debug_str	00000000 
00000486 l       .debug_str	00000000 
00000491 l       .debug_str	00000000 
0000049c l       .debug_str	00000000 
000004a6 l       .debug_str	00000000 
000004b1 l       .debug_str	00000000 
000004bc l       .debug_str	00000000 
000008f1 l       .debug_str	00000000 
000004d5 l       .debug_str	00000000 
000004e2 l       .debug_str	00000000 
000004f0 l       .debug_str	00000000 
000004fa l       .debug_str	00000000 
00000507 l       .debug_str	00000000 
0000051b l       .debug_str	00000000 
0000052d l       .debug_str	00000000 
00000541 l       .debug_str	00000000 
00000557 l       .debug_str	00000000 
0000056d l       .debug_str	00000000 
00000579 l       .debug_str	00000000 
0000057d l       .debug_str	00000000 
00000580 l       .debug_str	00000000 
00000583 l       .debug_str	00000000 
00000588 l       .debug_str	00000000 
0000058e l       .debug_str	00000000 
00000595 l       .debug_str	00000000 
0000059d l       .debug_str	00000000 
000005a7 l       .debug_str	00000000 
000005aa l       .debug_str	00000000 
000005ae l       .debug_str	00000000 
000005b5 l       .debug_str	00000000 
000005f3 l       .debug_str	00000000 
00000606 l       .debug_str	00000000 
00000609 l       .debug_str	00000000 
0000060b l       .debug_str	00000000 
00000633 l       .debug_str	00000000 
00000676 l       .debug_str	00000000 
0000068e l       .debug_str	00000000 
000006ce l       .debug_str	00000000 
000006e3 l       .debug_str	00000000 
0000071d l       .debug_str	00000000 
0000072c l       .debug_str	00000000 
0000076b l       .debug_str	00000000 
0000077f l       .debug_str	00000000 
00000783 l       .debug_str	00000000 
00000786 l       .debug_str	00000000 
0000078f l       .debug_str	00000000 
00000794 l       .debug_str	00000000 
0000079e l       .debug_str	00000000 
000007a3 l       .debug_str	00000000 
000007a9 l       .debug_str	00000000 
000007ae l       .debug_str	00000000 
000007b3 l       .debug_str	00000000 
000007ba l       .debug_str	00000000 
000007c3 l       .debug_str	00000000 
000007cd l       .debug_str	00000000 
000007d4 l       .debug_str	00000000 
000007da l       .debug_str	00000000 
000007df l       .debug_str	00000000 
000007eb l       .debug_str	00000000 
000007f3 l       .debug_str	00000000 
000007fc l       .debug_str	00000000 
00000803 l       .debug_str	00000000 
00000808 l       .debug_str	00000000 
0000080d l       .debug_str	00000000 
00000813 l       .debug_str	00000000 
00000819 l       .debug_str	00000000 
00000823 l       .debug_str	00000000 
00000826 l       .debug_str	00000000 
0000082c l       .debug_str	00000000 
00000834 l       .debug_str	00000000 
0000083a l       .debug_str	00000000 
00000840 l       .debug_str	00000000 
0000084b l       .debug_str	00000000 
00000854 l       .debug_str	00000000 
00000877 l       .debug_str	00000000 
00000896 l       .debug_str	00000000 
000008bd l       .debug_str	00000000 
000008c2 l       .debug_str	00000000 
000008c8 l       .debug_str	00000000 
000008ce l       .debug_str	00000000 
000008dd l       .debug_str	00000000 
000008e4 l       .debug_str	00000000 
000008e8 l       .debug_str	00000000 
00000e38 l       .debug_str	00000000 
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.0	00000012 .Lanon.9b6483422c03c5b45a1ae931b32b4273.0
00000000 l     O .rodata.cst4	00000004 .Lanon.9b6483422c03c5b45a1ae931b32b4273.1
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.10	00000004 .Lanon.9b6483422c03c5b45a1ae931b32b4273.10
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.12	00000004 .Lanon.9b6483422c03c5b45a1ae931b32b4273.12
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.14	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.14
00000000 l     O .rodata.cst8	00000008 .Lanon.9b6483422c03c5b45a1ae931b32b4273.15
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.16	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.16
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.17	0000000e .Lanon.9b6483422c03c5b45a1ae931b32b4273.17
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.18	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.18
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.19	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.19
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.2	00000004 .Lanon.9b6483422c03c5b45a1ae931b32b4273.2
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.20	00000013 .Lanon.9b6483422c03c5b45a1ae931b32b4273.20
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.21	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.21
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.22	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.22
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.23	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.23
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.24	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.24
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.25	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.25
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.26	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.26
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.27	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.27
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.28	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.28
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.29	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.29
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.30	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.30
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.31	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.31
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.32	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.32
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.33	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.33
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.34	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.34
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.35	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.35
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.36	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.36
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.37	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.37
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.38	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.38
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.39	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.39
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.40	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.40
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.41	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.41
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.42	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.42
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.43	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.43
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.44	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.44
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.45	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.45
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.46	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.46
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.47	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.47
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.48	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.48
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.49	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.49
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.50	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.50
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.51	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.51
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.52	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.52
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.53	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.53
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.54	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.54
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.55	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.55
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.56	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.56
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.57	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.57
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.58	00000007 .Lanon.9b6483422c03c5b45a1ae931b32b4273.58
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.59	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.59
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.60	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.60
00000008 l     O .rodata.cst8	00000008 .Lanon.9b6483422c03c5b45a1ae931b32b4273.61
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.62	00000010 .Lanon.9b6483422c03c5b45a1ae931b32b4273.62
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.63	00000009 .Lanon.9b6483422c03c5b45a1ae931b32b4273.63
00000000 l     O .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.7	00000004 .Lanon.9b6483422c03c5b45a1ae931b32b4273.7
00000000 l     O .bss._ZN3app12touch_sensor10I2C_BUFFER17h9389e826c4a6c2a1E	00000001 app::touch_sensor::I2C_BUFFER
00000000 l     O .bss._ZN3app12touch_sensor10TOUCH_DATA17h9a1f6865e8e5bb1dE	00000052 app::touch_sensor::TOUCH_DATA
00000000 l     O .bss._ZN3app12touch_sensor11TOUCH_DELAY17hd91c82a1ac7536d1E	00000000 app::touch_sensor::TOUCH_DELAY
00000000 l     O .bss._ZN3app12touch_sensor11TOUCH_EVENT17hfab7bdeca72aa488E	00000010 app::touch_sensor::TOUCH_EVENT
00000000 l     O .bss._ZN3app12touch_sensor11TOUCH_RESET17h0415669851ab19bcE	00000004 app::touch_sensor::TOUCH_RESET
00000000 l     F .text._ZN3app12touch_sensor14read_touchdata17h407a3e89c6c7df55E	00000766 app::touch_sensor::read_touchdata
00000000 l     F .text._ZN3app12touch_sensor19read_register_range17h37723ebd38872b8aE	0000019a app::touch_sensor::read_register_range
00000000 l     F .text._ZN3app12touch_sensor20touch_event_callback17hae0644f69acabbd6E	00000136 app::touch_sensor::touch_event_callback
00000000 l     F .text._ZN3app12touch_sensor23touch_interrupt_handler17hd72daa31c014ba26E	0000004a app::touch_sensor::touch_interrupt_handler
00000000 l     O .bss._ZN3app12touch_sensor3BUF17h3891b23d344d7be6E	0000003f app::touch_sensor::BUF
00000000 l     O .bss._ZN3app12touch_sensor8I2C_DATA17h3d80b1761a1e4db1E	00000008 app::touch_sensor::I2C_DATA
00000000 l     O .rodata.str.0	00000021 str.0
00000000 l     O .rodata.str.1	0000001c str.1
00000000 l    d  .text._ZN3app12touch_sensor18start_touch_sensor17h59db916b5af3c653E	00000000 .text._ZN3app12touch_sensor18start_touch_sensor17h59db916b5af3c653E
00000000 l    d  .text._ZN3app12touch_sensor23touch_interrupt_handler17hd72daa31c014ba26E	00000000 .text._ZN3app12touch_sensor23touch_interrupt_handler17hd72daa31c014ba26E
00000000 l    d  .text._ZN3app12touch_sensor20touch_event_callback17hae0644f69acabbd6E	00000000 .text._ZN3app12touch_sensor20touch_event_callback17hae0644f69acabbd6E
00000000 l    d  .text._ZN3app12touch_sensor14read_touchdata17h407a3e89c6c7df55E	00000000 .text._ZN3app12touch_sensor14read_touchdata17h407a3e89c6c7df55E
00000000 l    d  .text._ZN3app12touch_sensor19read_register_range17h37723ebd38872b8aE	00000000 .text._ZN3app12touch_sensor19read_register_range17h37723ebd38872b8aE
00000000 l    d  .bss._ZN3app12touch_sensor11TOUCH_RESET17h0415669851ab19bcE	00000000 .bss._ZN3app12touch_sensor11TOUCH_RESET17h0415669851ab19bcE
00000000 l    d  .bss._ZN3app12touch_sensor11TOUCH_DELAY17hd91c82a1ac7536d1E	00000000 .bss._ZN3app12touch_sensor11TOUCH_DELAY17hd91c82a1ac7536d1E
00000000 l    d  .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.3	00000000 .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.3
00000000 l    d  .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.4	00000000 .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.4
00000000 l    d  .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.5	00000000 .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.5
00000000 l    d  .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.6	00000000 .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.6
00000000 l    d  .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.8	00000000 .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.8
00000000 l    d  .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.9	00000000 .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.9
00000000 l    d  .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.11	00000000 .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.11
00000000 l    d  .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.13	00000000 .rodata..Lanon.9b6483422c03c5b45a1ae931b32b4273.13
00000000 l    d  .bss._ZN3app12touch_sensor10TOUCH_DATA17h9a1f6865e8e5bb1dE	00000000 .bss._ZN3app12touch_sensor10TOUCH_DATA17h9a1f6865e8e5bb1dE
00000000 l    d  .bss._ZN3app12touch_sensor3BUF17h3891b23d344d7be6E	00000000 .bss._ZN3app12touch_sensor3BUF17h3891b23d344d7be6E
00000000 l    d  .bss._ZN3app12touch_sensor11TOUCH_EVENT17hfab7bdeca72aa488E	00000000 .bss._ZN3app12touch_sensor11TOUCH_EVENT17hfab7bdeca72aa488E
00000000 l    d  .bss._ZN3app12touch_sensor8I2C_DATA17h3d80b1761a1e4db1E	00000000 .bss._ZN3app12touch_sensor8I2C_DATA17h3d80b1761a1e4db1E
00000000 l    d  .bss._ZN3app12touch_sensor10I2C_BUFFER17h9389e826c4a6c2a1E	00000000 .bss._ZN3app12touch_sensor10I2C_BUFFER17h9389e826c4a6c2a1E
00000000 l    d  .debug_abbrev	00000000 .debug_abbrev
00000000 l    d  .debug_info	00000000 .debug_info
00000000 l    d  .debug_ranges	00000000 .debug_ranges
00000000 l    d  .debug_frame	00000000 .debug_frame
00000000 l    d  .debug_line	00000000 .debug_line
00000000         *UND*	00000000 app::handle_touch
00000000 g     F .text._ZN3app12touch_sensor18start_touch_sensor17h59db916b5af3c653E	0000027a .hidden app::touch_sensor::start_touch_sensor
00000000         *UND*	00000000 <&T as core::fmt::Debug>::fmt
00000000         *UND*	00000000 core::fmt::ArgumentV1::new
00000000         *UND*	00000000 core::fmt::ArgumentV1::new
00000000         *UND*	00000000 .hidden core::fmt::Arguments::new_v1
00000000         *UND*	00000000 core::iter::range::<impl core::iter::traits::iterator::Iterator for core::ops::range::Range<A>>::next
00000000         *UND*	00000000 core::panic::Location::caller
00000000         *UND*	00000000 core::slice::<impl [T]>::as_mut_ptr
00000000         *UND*	00000000 core::slice::<impl [T]>::len
00000000         *UND*	00000000 core::result::Result<T,E>::expect
00000000         *UND*	00000000 core::result::Result<T,E>::expect
00000000         *UND*	00000000 core::panicking::panic_bounds_check
00000000         *UND*	00000000 core::panicking::panic
00000000         *UND*	00000000 core::panicking::panic_fmt
00000000         *UND*	00000000 <T as core::convert::From<T>>::from
00000000         *UND*	00000000 <core::fmt::Arguments as core::fmt::Display>::fmt
00000000         *UND*	00000000 <I as core::iter::traits::collect::IntoIterator>::into_iter
00000000         *UND*	00000000 mynewt::hal::GPIO::init
00000000         *UND*	00000000 mynewt::sys::console::print
00000000         *UND*	00000000 mynewt::kernel::os::eventq_dflt_get
00000000         *UND*	00000000 <core::result::Result<T,E> as core::ops::try::Try>::from_error
00000000         *UND*	00000000 <core::result::Result<T,E> as core::ops::try::Try>::into_result
00000000         *UND*	00000000 <mynewt::hal::GPIO as embedded_hal::digital::v2::OutputPin>::set_low
00000000         *UND*	00000000 <mynewt::hal::GPIO as embedded_hal::digital::v2::OutputPin>::set_high
00000000         *UND*	00000000 <mynewt::hal::Delay as embedded_hal::blocking::delay::DelayMs<u8>>::delay_ms
00000000         *UND*	00000000 __aeabi_memclr
00000000         *UND*	00000000 __aeabi_memcpy
00000000         *UND*	00000000 hal_gpio_irq_enable
00000000         *UND*	00000000 hal_gpio_irq_init
00000000         *UND*	00000000 hal_i2c_master_read
00000000         *UND*	00000000 hal_i2c_master_write
00000000         *UND*	00000000 os_eventq_put



Disassembly of section .text._ZN3app12touch_sensor18start_touch_sensor17h59db916b5af3c653E:

00000000 <app::touch_sensor::start_touch_sensor>:
_ZN3app12touch_sensor18start_touch_sensor17h59db916b5af3c653E():
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:38
/// ```rust
/// let peripherals = nrf52::Peripherals::take().unwrap();
/// let nfcpins = peripherals.UICR.nfcpins.read().bits();
/// console::print("nfcpins = "); console::printhex(nfcpins as u8); console::print("\n");
/// ```
pub fn start_touch_sensor() -> MynewtResult<()> {
   0:	b5b0      	push	{r4, r5, r7, lr}
   2:	b0bc      	sub	sp, #240	; 0xf0
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:39
    console::print("Rust touch sensor\n");
   4:	f240 0000 	movw	r0, #0
   8:	f2c0 0000 	movt	r0, #0
   c:	2112      	movs	r1, #18
   e:	f7ff fffe 	bl	0 <mynewt::sys::console::print>
  12:	e7ff      	b.n	2 <app::touch_sensor::start_touch_sensor+0x2>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:42

    //  Init GPIO for the Reset Pin
    unsafe { TOUCH_RESET.init(TOUCH_RESET_PIN) ? };
  14:	f240 0000 	movw	r0, #0
  18:	f2c0 0000 	movt	r0, #0
  1c:	210a      	movs	r1, #10
  1e:	f7ff fffe 	bl	0 <mynewt::hal::GPIO::init>
  22:	9010      	str	r0, [sp, #64]	; 0x40
  24:	e7ff      	b.n	26 <app::touch_sensor::start_touch_sensor+0x26>
  26:	9810      	ldr	r0, [sp, #64]	; 0x40
  28:	f7ff fffe 	bl	0 <<core::result::Result<T,E> as core::ops::try::Try>::into_result>
  2c:	9012      	str	r0, [sp, #72]	; 0x48
  2e:	e7ff      	b.n	30 <app::touch_sensor::start_touch_sensor+0x30>
  30:	9812      	ldr	r0, [sp, #72]	; 0x48
  32:	1e41      	subs	r1, r0, #1
  34:	bf18      	it	ne
  36:	2101      	movne	r1, #1
  38:	2801      	cmp	r0, #1
  3a:	d012      	beq.n	62 <app::touch_sensor::start_touch_sensor+0x62>
  3c:	e7ff      	b.n	3e <app::touch_sensor::start_touch_sensor+0x3e>
  3e:	e000      	b.n	42 <app::touch_sensor::start_touch_sensor+0x42>
  40:	defe      	udf	#254	; 0xfe
  42:	9812      	ldr	r0, [sp, #72]	; 0x48
  44:	9013      	str	r0, [sp, #76]	; 0x4c
  46:	9813      	ldr	r0, [sp, #76]	; 0x4c
  48:	f7ff fffe 	bl	0 <<T as core::convert::From<T>>::from>
  4c:	900f      	str	r0, [sp, #60]	; 0x3c
  4e:	e002      	b.n	56 <app::touch_sensor::start_touch_sensor+0x56>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:68
    assert_eq!(rc, 0, "IRQ init fail");

    //  Start monitoring for touch controller interrupts
    unsafe { hal::hal_gpio_irq_enable(TOUCH_INTERRUPT_PIN) };
    Ok(())
}
  50:	9811      	ldr	r0, [sp, #68]	; 0x44
  52:	b03c      	add	sp, #240	; 0xf0
  54:	bdb0      	pop	{r4, r5, r7, pc}
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:42
    unsafe { TOUCH_RESET.init(TOUCH_RESET_PIN) ? };
  56:	980f      	ldr	r0, [sp, #60]	; 0x3c
  58:	f7ff fffe 	bl	0 <<core::result::Result<T,E> as core::ops::try::Try>::from_error>
  5c:	9011      	str	r0, [sp, #68]	; 0x44
  5e:	e7ff      	b.n	60 <app::touch_sensor::start_touch_sensor+0x60>
  60:	e7f6      	b.n	50 <app::touch_sensor::start_touch_sensor+0x50>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:46
        TOUCH_RESET.set_low() ? ;
  62:	f240 0000 	movw	r0, #0
  66:	f2c0 0000 	movt	r0, #0
  6a:	f7ff fffe 	bl	0 <<mynewt::hal::GPIO as embedded_hal::digital::v2::OutputPin>::set_low>
  6e:	900e      	str	r0, [sp, #56]	; 0x38
  70:	e7ff      	b.n	72 <app::touch_sensor::start_touch_sensor+0x72>
  72:	980e      	ldr	r0, [sp, #56]	; 0x38
  74:	f7ff fffe 	bl	0 <<core::result::Result<T,E> as core::ops::try::Try>::into_result>
  78:	9015      	str	r0, [sp, #84]	; 0x54
  7a:	e7ff      	b.n	7c <app::touch_sensor::start_touch_sensor+0x7c>
  7c:	9815      	ldr	r0, [sp, #84]	; 0x54
  7e:	1e41      	subs	r1, r0, #1
  80:	bf18      	it	ne
  82:	2101      	movne	r1, #1
  84:	2801      	cmp	r0, #1
  86:	d010      	beq.n	aa <app::touch_sensor::start_touch_sensor+0xaa>
  88:	e7ff      	b.n	8a <app::touch_sensor::start_touch_sensor+0x8a>
  8a:	e000      	b.n	8e <app::touch_sensor::start_touch_sensor+0x8e>
  8c:	defe      	udf	#254	; 0xfe
  8e:	9815      	ldr	r0, [sp, #84]	; 0x54
  90:	9016      	str	r0, [sp, #88]	; 0x58
  92:	9816      	ldr	r0, [sp, #88]	; 0x58
  94:	f7ff fffe 	bl	0 <<T as core::convert::From<T>>::from>
  98:	900d      	str	r0, [sp, #52]	; 0x34
  9a:	e7ff      	b.n	9c <app::touch_sensor::start_touch_sensor+0x9c>
  9c:	980d      	ldr	r0, [sp, #52]	; 0x34
  9e:	f7ff fffe 	bl	0 <<core::result::Result<T,E> as core::ops::try::Try>::from_error>
  a2:	9011      	str	r0, [sp, #68]	; 0x44
  a4:	e7ff      	b.n	a6 <app::touch_sensor::start_touch_sensor+0xa6>
  a6:	e7ff      	b.n	a8 <app::touch_sensor::start_touch_sensor+0xa8>
  a8:	e7d2      	b.n	50 <app::touch_sensor::start_touch_sensor+0x50>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:47
        TOUCH_DELAY.delay_ms(20);
  aa:	f240 0000 	movw	r0, #0
  ae:	f2c0 0000 	movt	r0, #0
  b2:	2114      	movs	r1, #20
  b4:	f7ff fffe 	bl	0 <<mynewt::hal::Delay as embedded_hal::blocking::delay::DelayMs<u8>>::delay_ms>
  b8:	e7ff      	b.n	2 <app::touch_sensor::start_touch_sensor+0x2>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:48
        TOUCH_RESET.set_high() ? ;
  ba:	f240 0000 	movw	r0, #0
  be:	f2c0 0000 	movt	r0, #0
  c2:	f7ff fffe 	bl	0 <<mynewt::hal::GPIO as embedded_hal::digital::v2::OutputPin>::set_high>
  c6:	900c      	str	r0, [sp, #48]	; 0x30
  c8:	e7ff      	b.n	ca <app::touch_sensor::start_touch_sensor+0xca>
  ca:	980c      	ldr	r0, [sp, #48]	; 0x30
  cc:	f7ff fffe 	bl	0 <<core::result::Result<T,E> as core::ops::try::Try>::into_result>
  d0:	9018      	str	r0, [sp, #96]	; 0x60
  d2:	e7ff      	b.n	d4 <app::touch_sensor::start_touch_sensor+0xd4>
  d4:	9818      	ldr	r0, [sp, #96]	; 0x60
  d6:	1e41      	subs	r1, r0, #1
  d8:	bf18      	it	ne
  da:	2101      	movne	r1, #1
  dc:	2801      	cmp	r0, #1
  de:	d00f      	beq.n	100 <app::touch_sensor::start_touch_sensor+0x100>
  e0:	e7ff      	b.n	e2 <app::touch_sensor::start_touch_sensor+0xe2>
  e2:	e000      	b.n	e6 <app::touch_sensor::start_touch_sensor+0xe6>
  e4:	defe      	udf	#254	; 0xfe
  e6:	9818      	ldr	r0, [sp, #96]	; 0x60
  e8:	9019      	str	r0, [sp, #100]	; 0x64
  ea:	9819      	ldr	r0, [sp, #100]	; 0x64
  ec:	f7ff fffe 	bl	0 <<T as core::convert::From<T>>::from>
  f0:	900b      	str	r0, [sp, #44]	; 0x2c
  f2:	e7ff      	b.n	f4 <app::touch_sensor::start_touch_sensor+0xf4>
  f4:	980b      	ldr	r0, [sp, #44]	; 0x2c
  f6:	f7ff fffe 	bl	0 <<core::result::Result<T,E> as core::ops::try::Try>::from_error>
  fa:	9011      	str	r0, [sp, #68]	; 0x44
  fc:	e7ff      	b.n	fe <app::touch_sensor::start_touch_sensor+0xfe>
  fe:	e7d3      	b.n	a8 <app::touch_sensor::start_touch_sensor+0xa8>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:49
        TOUCH_DELAY.delay_ms(200); TOUCH_DELAY.delay_ms(200);    
 100:	f240 0000 	movw	r0, #0
 104:	f2c0 0000 	movt	r0, #0
 108:	21c8      	movs	r1, #200	; 0xc8
 10a:	f7ff fffe 	bl	0 <<mynewt::hal::Delay as embedded_hal::blocking::delay::DelayMs<u8>>::delay_ms>
 10e:	e7ff      	b.n	2 <app::touch_sensor::start_touch_sensor+0x2>
 110:	f240 0000 	movw	r0, #0
 114:	f2c0 0000 	movt	r0, #0
 118:	21c8      	movs	r1, #200	; 0xc8
 11a:	f7ff fffe 	bl	0 <<mynewt::hal::Delay as embedded_hal::blocking::delay::DelayMs<u8>>::delay_ms>
 11e:	e7ff      	b.n	2 <app::touch_sensor::start_touch_sensor+0x2>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:53
    unsafe { TOUCH_EVENT.ev_cb = Some( touch_event_callback ) };
 120:	f240 0000 	movw	r0, #0
 124:	f2c0 0000 	movt	r0, #0
 128:	901b      	str	r0, [sp, #108]	; 0x6c
 12a:	981b      	ldr	r0, [sp, #108]	; 0x6c
 12c:	f240 0100 	movw	r1, #0
 130:	f2c0 0100 	movt	r1, #0
 134:	6048      	str	r0, [r1, #4]
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:58
        Some( touch_interrupt_handler ),  //  Call `touch_interrupt_handler()` upon detecting interrupt
 136:	f240 0000 	movw	r0, #0
 13a:	f2c0 0000 	movt	r0, #0
 13e:	901d      	str	r0, [sp, #116]	; 0x74
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:59
        core::ptr::null_mut(),            //  No arguments for `touch_interrupt_handler()`
 140:	e7ff      	b.n	142 <app::touch_sensor::start_touch_sensor+0x142>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:56
    let rc = unsafe { hal::hal_gpio_irq_init(
 142:	991d      	ldr	r1, [sp, #116]	; 0x74
 144:	4668      	mov	r0, sp
 146:	2201      	movs	r2, #1
 148:	6002      	str	r2, [r0, #0]
 14a:	201c      	movs	r0, #28
 14c:	2200      	movs	r2, #0
 14e:	2302      	movs	r3, #2
 150:	f7ff fffe 	bl	0 <hal_gpio_irq_init>
 154:	901c      	str	r0, [sp, #112]	; 0x70
 156:	e7ff      	b.n	158 <app::touch_sensor::start_touch_sensor+0x158>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:63
    assert_eq!(rc, 0, "IRQ init fail");
 158:	f240 0000 	movw	r0, #0
 15c:	f2c0 0000 	movt	r0, #0
 160:	6800      	ldr	r0, [r0, #0]
 162:	a91c      	add	r1, sp, #112	; 0x70
 164:	911e      	str	r1, [sp, #120]	; 0x78
 166:	901f      	str	r0, [sp, #124]	; 0x7c
 168:	981e      	ldr	r0, [sp, #120]	; 0x78
 16a:	9020      	str	r0, [sp, #128]	; 0x80
 16c:	981f      	ldr	r0, [sp, #124]	; 0x7c
 16e:	9021      	str	r0, [sp, #132]	; 0x84
 170:	9820      	ldr	r0, [sp, #128]	; 0x80
 172:	6800      	ldr	r0, [r0, #0]
 174:	9921      	ldr	r1, [sp, #132]	; 0x84
 176:	6809      	ldr	r1, [r1, #0]
 178:	4288      	cmp	r0, r1
 17a:	d104      	bne.n	186 <app::touch_sensor::start_touch_sensor+0x186>
 17c:	e7ff      	b.n	17e <app::touch_sensor::start_touch_sensor+0x17e>
 17e:	201c      	movs	r0, #28
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:66
    unsafe { hal::hal_gpio_irq_enable(TOUCH_INTERRUPT_PIN) };
 180:	f7ff fffe 	bl	0 <hal_gpio_irq_enable>
 184:	e074      	b.n	ec <app::touch_sensor::start_touch_sensor+0xec>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:63
    assert_eq!(rc, 0, "IRQ init fail");
 186:	f240 0000 	movw	r0, #0
 18a:	f2c0 0000 	movt	r0, #0
 18e:	6801      	ldr	r1, [r0, #0]
 190:	9820      	ldr	r0, [sp, #128]	; 0x80
 192:	9031      	str	r0, [sp, #196]	; 0xc4
 194:	9821      	ldr	r0, [sp, #132]	; 0x84
 196:	9032      	str	r0, [sp, #200]	; 0xc8
 198:	f240 0000 	movw	r0, #0
 19c:	f2c0 0000 	movt	r0, #0
 1a0:	6800      	ldr	r0, [r0, #0]
 1a2:	f240 0200 	movw	r2, #0
 1a6:	f2c0 0200 	movt	r2, #0
 1aa:	6813      	ldr	r3, [r2, #0]
 1ac:	466a      	mov	r2, sp
 1ae:	f04f 0c00 	mov.w	ip, #0
 1b2:	f8c2 c000 	str.w	ip, [r2]
 1b6:	aa33      	add	r2, sp, #204	; 0xcc
 1b8:	f04f 0c01 	mov.w	ip, #1
 1bc:	900a      	str	r0, [sp, #40]	; 0x28
 1be:	4610      	mov	r0, r2
 1c0:	9a0a      	ldr	r2, [sp, #40]	; 0x28
 1c2:	9109      	str	r1, [sp, #36]	; 0x24
 1c4:	4611      	mov	r1, r2
 1c6:	4662      	mov	r2, ip
 1c8:	f7ff fffe 	bl	0 <core::fmt::Arguments::new_v1>
 1cc:	e7ff      	b.n	1ce <app::touch_sensor::start_touch_sensor+0x1ce>
 1ce:	a831      	add	r0, sp, #196	; 0xc4
 1d0:	902e      	str	r0, [sp, #184]	; 0xb8
 1d2:	a832      	add	r0, sp, #200	; 0xc8
 1d4:	902f      	str	r0, [sp, #188]	; 0xbc
 1d6:	a833      	add	r0, sp, #204	; 0xcc
 1d8:	9030      	str	r0, [sp, #192]	; 0xc0
 1da:	982e      	ldr	r0, [sp, #184]	; 0xb8
 1dc:	9039      	str	r0, [sp, #228]	; 0xe4
 1de:	982f      	ldr	r0, [sp, #188]	; 0xbc
 1e0:	903a      	str	r0, [sp, #232]	; 0xe8
 1e2:	9830      	ldr	r0, [sp, #192]	; 0xc0
 1e4:	903b      	str	r0, [sp, #236]	; 0xec
 1e6:	9839      	ldr	r0, [sp, #228]	; 0xe4
 1e8:	f240 0100 	movw	r1, #0
 1ec:	f2c0 0100 	movt	r1, #0
 1f0:	f7ff fffe 	bl	0 <core::fmt::ArgumentV1::new>
 1f4:	9008      	str	r0, [sp, #32]
 1f6:	9107      	str	r1, [sp, #28]
 1f8:	e7ff      	b.n	1fa <app::touch_sensor::start_touch_sensor+0x1fa>
 1fa:	983a      	ldr	r0, [sp, #232]	; 0xe8
 1fc:	f240 0100 	movw	r1, #0
 200:	f2c0 0100 	movt	r1, #0
 204:	f7ff fffe 	bl	0 <core::fmt::ArgumentV1::new>
 208:	9006      	str	r0, [sp, #24]
 20a:	9105      	str	r1, [sp, #20]
 20c:	e7ff      	b.n	20e <app::touch_sensor::start_touch_sensor+0x20e>
 20e:	983b      	ldr	r0, [sp, #236]	; 0xec
 210:	f240 0100 	movw	r1, #0
 214:	f2c0 0100 	movt	r1, #0
 218:	f7ff fffe 	bl	0 <core::fmt::ArgumentV1::new>
 21c:	9004      	str	r0, [sp, #16]
 21e:	9103      	str	r1, [sp, #12]
 220:	e7ff      	b.n	222 <app::touch_sensor::start_touch_sensor+0x222>
 222:	9808      	ldr	r0, [sp, #32]
 224:	9028      	str	r0, [sp, #160]	; 0xa0
 226:	9907      	ldr	r1, [sp, #28]
 228:	9129      	str	r1, [sp, #164]	; 0xa4
 22a:	9a06      	ldr	r2, [sp, #24]
 22c:	922a      	str	r2, [sp, #168]	; 0xa8
 22e:	9b05      	ldr	r3, [sp, #20]
 230:	932b      	str	r3, [sp, #172]	; 0xac
 232:	f8dd c010 	ldr.w	ip, [sp, #16]
 236:	f8cd c0b0 	str.w	ip, [sp, #176]	; 0xb0
 23a:	f8dd e00c 	ldr.w	lr, [sp, #12]
 23e:	f8cd e0b4 	str.w	lr, [sp, #180]	; 0xb4
 242:	466c      	mov	r4, sp
 244:	2503      	movs	r5, #3
 246:	6025      	str	r5, [r4, #0]
 248:	a822      	add	r0, sp, #136	; 0x88
 24a:	ab28      	add	r3, sp, #160	; 0xa0
 24c:	9909      	ldr	r1, [sp, #36]	; 0x24
 24e:	462a      	mov	r2, r5
 250:	f7ff fffe 	bl	0 <core::fmt::Arguments::new_v1>
 254:	e7ff      	b.n	2 <app::touch_sensor::start_touch_sensor+0x2>
 256:	f240 0000 	movw	r0, #0
 25a:	f2c0 0000 	movt	r0, #0
 25e:	f7ff fffe 	bl	0 <core::panic::Location::caller>
 262:	9002      	str	r0, [sp, #8]
 264:	e7ff      	b.n	266 <app::touch_sensor::start_touch_sensor+0x266>
 266:	a822      	add	r0, sp, #136	; 0x88
 268:	9902      	ldr	r1, [sp, #8]
 26a:	f7ff fffe 	bl	0 <core::panicking::panic_fmt>
 26e:	defe      	udf	#254	; 0xfe
 270:	2000      	movs	r0, #0
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:67
    Ok(())
 272:	9011      	str	r0, [sp, #68]	; 0x44
 274:	2001      	movs	r0, #1
 276:	9011      	str	r0, [sp, #68]	; 0x44
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:68
}
 278:	e6ea      	b.n	50 <app::touch_sensor::start_touch_sensor+0x50>

Disassembly of section .text._ZN3app12touch_sensor23touch_interrupt_handler17hd72daa31c014ba26E:

00000000 <app::touch_sensor::touch_interrupt_handler>:
_ZN3app12touch_sensor23touch_interrupt_handler17hd72daa31c014ba26E():
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:71

/// Interrupt handler for the touch controller, triggered when a touch is detected
extern "C" fn touch_interrupt_handler(arg: *mut core::ffi::c_void) {
   0:	b580      	push	{r7, lr}
   2:	b084      	sub	sp, #16
   4:	9000      	str	r0, [sp, #0]
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:73
    //  We forward a touch event to the Default Event Queue for deferred processing.  Don't do any processing here.
    unsafe { TOUCH_EVENT.ev_arg = arg };
   6:	9800      	ldr	r0, [sp, #0]
   8:	f240 0100 	movw	r1, #0
   c:	f2c0 0100 	movt	r1, #0
  10:	6088      	str	r0, [r1, #8]
  12:	a802      	add	r0, sp, #8
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:75
    //  Fetch the Default Event Queue. TODO: Use dedicated Event Queue for higher priority processing.
    let queue = os::eventq_dflt_get()
  14:	f7ff fffe 	bl	0 <mynewt::kernel::os::eventq_dflt_get>
  18:	e7ff      	b.n	2 <app::touch_sensor::touch_interrupt_handler+0x2>
  1a:	f240 0100 	movw	r1, #0
  1e:	f2c0 0100 	movt	r1, #0
  22:	f240 0300 	movw	r3, #0
  26:	f2c0 0300 	movt	r3, #0
  2a:	a802      	add	r0, sp, #8
  2c:	2208      	movs	r2, #8
  2e:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
  32:	9001      	str	r0, [sp, #4]
  34:	e7ff      	b.n	36 <app::touch_sensor::touch_interrupt_handler+0x36>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:77
        .expect("GET fail");
    unsafe { os::os_eventq_put(queue, &mut TOUCH_EVENT) };  //  Trigger the callback function `touch_event_callback()`
  36:	9801      	ldr	r0, [sp, #4]
  38:	f240 0100 	movw	r1, #0
  3c:	f2c0 0100 	movt	r1, #0
  40:	f7ff fffe 	bl	0 <os_eventq_put>
  44:	e7ff      	b.n	46 <app::touch_sensor::touch_interrupt_handler+0x46>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:79
    //console::print("touch\n"); ////
}
  46:	b004      	add	sp, #16
  48:	bd80      	pop	{r7, pc}

Disassembly of section .text._ZN3app12touch_sensor20touch_event_callback17hae0644f69acabbd6E:

00000000 <app::touch_sensor::touch_event_callback>:
_ZN3app12touch_sensor20touch_event_callback17hae0644f69acabbd6E():
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:82

/// Callback for the touch event that is triggered when a touch is detected
extern "C" fn touch_event_callback(_event: *mut os_event) {
   0:	b580      	push	{r7, lr}
   2:	b090      	sub	sp, #64	; 0x40
   4:	9004      	str	r0, [sp, #16]
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:86
    //  console::printhex(unsafe { os::os_time_get() } as u8); console::print(" touch\n");
    unsafe { 
        //  Fetch the touch data from the touch controller
        read_touchdata(&mut TOUCH_DATA)
   6:	f240 0000 	movw	r0, #0
   a:	f2c0 0000 	movt	r0, #0
   e:	f7ff fffe 	bl	0 <app::touch_sensor::touch_event_callback>
  12:	9003      	str	r0, [sp, #12]
  14:	e7ff      	b.n	16 <app::touch_sensor::touch_event_callback+0x16>
  16:	f240 0100 	movw	r1, #0
  1a:	f2c0 0100 	movt	r1, #0
  1e:	f240 0300 	movw	r3, #0
  22:	f2c0 0300 	movt	r3, #0
  26:	220e      	movs	r2, #14
  28:	9803      	ldr	r0, [sp, #12]
  2a:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
  2e:	e7ff      	b.n	2 <app::touch_sensor::touch_event_callback+0x2>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:89
            .expect("touchdata fail");
        //  Handle each touch data info
        for i in 0..TOUCH_DATA.count as usize {
  30:	f240 0000 	movw	r0, #0
  34:	f2c0 0000 	movt	r0, #0
  38:	f890 0050 	ldrb.w	r0, [r0, #80]	; 0x50
  3c:	2100      	movs	r1, #0
  3e:	9105      	str	r1, [sp, #20]
  40:	9006      	str	r0, [sp, #24]
  42:	9805      	ldr	r0, [sp, #20]
  44:	9906      	ldr	r1, [sp, #24]
  46:	f7ff fffe 	bl	0 <<I as core::iter::traits::collect::IntoIterator>::into_iter>
  4a:	9002      	str	r0, [sp, #8]
  4c:	9101      	str	r1, [sp, #4]
  4e:	e7ff      	b.n	50 <app::touch_sensor::touch_event_callback+0x50>
  50:	9802      	ldr	r0, [sp, #8]
  52:	9007      	str	r0, [sp, #28]
  54:	9901      	ldr	r1, [sp, #4]
  56:	9108      	str	r1, [sp, #32]
  58:	e7ff      	b.n	5a <app::touch_sensor::touch_event_callback+0x5a>
  5a:	a807      	add	r0, sp, #28
  5c:	f7ff fffe 	bl	0 <core::iter::range::<impl core::iter::traits::iterator::Iterator for core::ops::range::Range<A>>::next>
  60:	910b      	str	r1, [sp, #44]	; 0x2c
  62:	900a      	str	r0, [sp, #40]	; 0x28
  64:	e7ff      	b.n	66 <app::touch_sensor::touch_event_callback+0x66>
  66:	980a      	ldr	r0, [sp, #40]	; 0x28
  68:	2800      	cmp	r0, #0
  6a:	d001      	beq.n	70 <app::touch_sensor::touch_event_callback+0x70>
  6c:	e7ff      	b.n	6e <app::touch_sensor::touch_event_callback+0x6e>
  6e:	e002      	b.n	76 <app::touch_sensor::touch_event_callback+0x76>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:129
            console::print(", x: "); console::printint(x as i32); 
            console::print(", y: "); console::printint(y as i32); console::print("\n");
        }
        console::flush();   
    } */
}
  70:	b010      	add	sp, #64	; 0x40
  72:	bd80      	pop	{r7, pc}
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:89
        for i in 0..TOUCH_DATA.count as usize {
  74:	defe      	udf	#254	; 0xfe
  76:	980b      	ldr	r0, [sp, #44]	; 0x2c
  78:	900c      	str	r0, [sp, #48]	; 0x30
  7a:	980c      	ldr	r0, [sp, #48]	; 0x30
  7c:	9009      	str	r0, [sp, #36]	; 0x24
  7e:	9809      	ldr	r0, [sp, #36]	; 0x24
  80:	900d      	str	r0, [sp, #52]	; 0x34
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:90
            let TouchInfo{ x, y, action, .. } = TOUCH_DATA.touches[i];
  82:	980d      	ldr	r0, [sp, #52]	; 0x34
  84:	2809      	cmp	r0, #9
  86:	9000      	str	r0, [sp, #0]
  88:	d84c      	bhi.n	124 <app::touch_sensor::touch_event_callback+0x124>
  8a:	e7ff      	b.n	8c <app::touch_sensor::touch_event_callback+0x8c>
  8c:	f240 0000 	movw	r0, #0
  90:	f2c0 0000 	movt	r0, #0
  94:	9900      	ldr	r1, [sp, #0]
  96:	eb00 02c1 	add.w	r2, r0, r1, lsl #3
  9a:	f830 0031 	ldrh.w	r0, [r0, r1, lsl #3]
  9e:	f8ad 0038 	strh.w	r0, [sp, #56]	; 0x38
  a2:	8850      	ldrh	r0, [r2, #2]
  a4:	f8ad 003a 	strh.w	r0, [sp, #58]	; 0x3a
  a8:	7910      	ldrb	r0, [r2, #4]
  aa:	f88d 003d 	strb.w	r0, [sp, #61]	; 0x3d
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:92
            if x == 0 && y == 0 { continue; }
  ae:	f8bd 0038 	ldrh.w	r0, [sp, #56]	; 0x38
  b2:	2800      	cmp	r0, #0
  b4:	d008      	beq.n	c8 <app::touch_sensor::touch_event_callback+0xc8>
  b6:	e003      	b.n	c0 <app::touch_sensor::touch_event_callback+0xc0>
  b8:	2001      	movs	r0, #1
  ba:	f88d 003e 	strb.w	r0, [sp, #62]	; 0x3e
  be:	e008      	b.n	d2 <app::touch_sensor::touch_event_callback+0xd2>
  c0:	2000      	movs	r0, #0
  c2:	f88d 003e 	strb.w	r0, [sp, #62]	; 0x3e
  c6:	e004      	b.n	d2 <app::touch_sensor::touch_event_callback+0xd2>
  c8:	f8bd 003a 	ldrh.w	r0, [sp, #58]	; 0x3a
  cc:	2800      	cmp	r0, #0
  ce:	d0f3      	beq.n	b8 <app::touch_sensor::touch_event_callback+0xb8>
  d0:	e7f6      	b.n	c0 <app::touch_sensor::touch_event_callback+0xc0>
  d2:	f89d 003e 	ldrb.w	r0, [sp, #62]	; 0x3e
  d6:	07c0      	lsls	r0, r0, #31
  d8:	2800      	cmp	r0, #0
  da:	d105      	bne.n	e8 <app::touch_sensor::touch_event_callback+0xe8>
  dc:	e7ff      	b.n	de <app::touch_sensor::touch_event_callback+0xde>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:94
            if action != 0 && action != 2 { continue; }
  de:	f89d 003d 	ldrb.w	r0, [sp, #61]	; 0x3d
  e2:	2800      	cmp	r0, #0
  e4:	d10a      	bne.n	fc <app::touch_sensor::touch_event_callback+0xfc>
  e6:	e005      	b.n	f4 <app::touch_sensor::touch_event_callback+0xf4>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:92
            if x == 0 && y == 0 { continue; }
  e8:	e7ff      	b.n	ea <app::touch_sensor::touch_event_callback+0xea>
  ea:	e7b6      	b.n	5a <app::touch_sensor::touch_event_callback+0x5a>
  ec:	2001      	movs	r0, #1
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:94
            if action != 0 && action != 2 { continue; }
  ee:	f88d 003f 	strb.w	r0, [sp, #63]	; 0x3f
  f2:	e008      	b.n	106 <app::touch_sensor::touch_event_callback+0x106>
  f4:	2000      	movs	r0, #0
  f6:	f88d 003f 	strb.w	r0, [sp, #63]	; 0x3f
  fa:	e004      	b.n	106 <app::touch_sensor::touch_event_callback+0x106>
  fc:	f89d 003d 	ldrb.w	r0, [sp, #61]	; 0x3d
 100:	2802      	cmp	r0, #2
 102:	d1f3      	bne.n	ec <app::touch_sensor::touch_event_callback+0xec>
 104:	e7f6      	b.n	f4 <app::touch_sensor::touch_event_callback+0xf4>
 106:	f89d 003f 	ldrb.w	r0, [sp, #63]	; 0x3f
 10a:	07c0      	lsls	r0, r0, #31
 10c:	2800      	cmp	r0, #0
 10e:	d107      	bne.n	120 <app::touch_sensor::touch_event_callback+0x120>
 110:	e7ff      	b.n	112 <app::touch_sensor::touch_event_callback+0x112>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:96
            super::handle_touch(x, y);
 112:	f8bd 103a 	ldrh.w	r1, [sp, #58]	; 0x3a
 116:	f8bd 0038 	ldrh.w	r0, [sp, #56]	; 0x38
 11a:	f7ff fffe 	bl	0 <app::handle_touch>
 11e:	e000      	b.n	122 <app::touch_sensor::touch_event_callback+0x122>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:94
            if action != 0 && action != 2 { continue; }
 120:	e7e3      	b.n	ea <app::touch_sensor::touch_event_callback+0xea>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:89
        for i in 0..TOUCH_DATA.count as usize {
 122:	e79a      	b.n	5a <app::touch_sensor::touch_event_callback+0x5a>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:90
            let TouchInfo{ x, y, action, .. } = TOUCH_DATA.touches[i];
 124:	f240 0000 	movw	r0, #0
 128:	f2c0 0000 	movt	r0, #0
 12c:	220a      	movs	r2, #10
 12e:	9900      	ldr	r1, [sp, #0]
 130:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 134:	defe      	udf	#254	; 0xfe

Disassembly of section .text._ZN3app12touch_sensor14read_touchdata17h407a3e89c6c7df55E:

00000000 <app::touch_sensor::read_touchdata>:
_ZN3app12touch_sensor14read_touchdata17h407a3e89c6c7df55E():
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:136
/// Touch data will be populated here
static mut TOUCH_DATA: TouchEventInfo = fill_zero!(TouchEventInfo);

/// Read touch controller data. This only works when the screen has been tapped and the touch controller wakes up.
/// Ported from https://github.com/lupyuen/hynitron_i2c_cst0xxse/blob/master/cst0xx_core.c#L407-L466
fn read_touchdata(data: &mut TouchEventInfo) -> MynewtResult<()> {
   0:	b580      	push	{r7, lr}
   2:	b0e2      	sub	sp, #392	; 0x188
   4:	902c      	str	r0, [sp, #176]	; 0xb0
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:137
    read_register_range(           //  Read the range of I2C registers...
   6:	4668      	mov	r0, sp
   8:	213f      	movs	r1, #63	; 0x3f
   a:	6001      	str	r1, [r0, #0]
   c:	f240 0300 	movw	r3, #0
  10:	f2c0 0300 	movt	r3, #0
  14:	2015      	movs	r0, #21
  16:	2200      	movs	r2, #0
  18:	912b      	str	r1, [sp, #172]	; 0xac
  1a:	4611      	mov	r1, r2
  1c:	9a2b      	ldr	r2, [sp, #172]	; 0xac
  1e:	f7ff fffe 	bl	0 <app::touch_sensor::read_touchdata>
  22:	902a      	str	r0, [sp, #168]	; 0xa8
  24:	e7ff      	b.n	26 <app::touch_sensor::read_touchdata+0x26>
  26:	f240 0100 	movw	r1, #0
  2a:	f2c0 0100 	movt	r1, #0
  2e:	f240 0300 	movw	r3, #0
  32:	f2c0 0300 	movt	r3, #0
  36:	2213      	movs	r2, #19
  38:	982a      	ldr	r0, [sp, #168]	; 0xa8
  3a:	f7ff fffe 	bl	0 <core::result::Result<T,E>::expect>
  3e:	e7ff      	b.n	40 <app::touch_sensor::read_touchdata+0x40>
  40:	f50d 7083 	add.w	r0, sp, #262	; 0x106
  44:	2152      	movs	r1, #82	; 0x52
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:143
        TOUCH_CONTROLLER_ADDRESS,  //  From the touch controller
        0,                         //  Starting from register 0
        POINT_READ_BUF as u8,      //  Number of registers to read
        unsafe { &mut BUF }        //  Save the read data into `buf`
    ).expect("read touchdata fail");
    *data = fill_zero!(TouchEventInfo);
  46:	9029      	str	r0, [sp, #164]	; 0xa4
  48:	9128      	str	r1, [sp, #160]	; 0xa0
  4a:	f7ff fffe 	bl	0 <__aeabi_memclr>
  4e:	a82d      	add	r0, sp, #180	; 0xb4
  50:	9929      	ldr	r1, [sp, #164]	; 0xa4
  52:	9a28      	ldr	r2, [sp, #160]	; 0xa0
  54:	f7ff fffe 	bl	0 <__aeabi_memcpy>
  58:	e7ff      	b.n	5a <app::touch_sensor::read_touchdata+0x5a>
  5a:	982c      	ldr	r0, [sp, #176]	; 0xb0
  5c:	a92d      	add	r1, sp, #180	; 0xb4
  5e:	2252      	movs	r2, #82	; 0x52
  60:	f7ff fffe 	bl	0 <__aeabi_memcpy>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:144
    data.point_num = unsafe { BUF[FT_TOUCH_POINT_NUM] & 0x0F };
  64:	f240 0100 	movw	r1, #0
  68:	f2c0 0100 	movt	r1, #0
  6c:	7889      	ldrb	r1, [r1, #2]
  6e:	f001 010f 	and.w	r1, r1, #15
  72:	9a2c      	ldr	r2, [sp, #176]	; 0xb0
  74:	f882 1051 	strb.w	r1, [r2, #81]	; 0x51
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:145
    data.count     = 0;
  78:	992c      	ldr	r1, [sp, #176]	; 0xb0
  7a:	2200      	movs	r2, #0
  7c:	f881 2050 	strb.w	r2, [r1, #80]	; 0x50
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:148

    //  Populate the first 5 touch points
    for i in 0..CFG_MAX_TOUCH_POINTS {
  80:	9256      	str	r2, [sp, #344]	; 0x158
  82:	2105      	movs	r1, #5
  84:	9157      	str	r1, [sp, #348]	; 0x15c
  86:	9956      	ldr	r1, [sp, #344]	; 0x158
  88:	9a57      	ldr	r2, [sp, #348]	; 0x15c
  8a:	9027      	str	r0, [sp, #156]	; 0x9c
  8c:	4608      	mov	r0, r1
  8e:	4611      	mov	r1, r2
  90:	f7ff fffe 	bl	0 <<I as core::iter::traits::collect::IntoIterator>::into_iter>
  94:	9026      	str	r0, [sp, #152]	; 0x98
  96:	9125      	str	r1, [sp, #148]	; 0x94
  98:	e7ff      	b.n	9a <app::touch_sensor::read_touchdata+0x9a>
  9a:	9826      	ldr	r0, [sp, #152]	; 0x98
  9c:	9058      	str	r0, [sp, #352]	; 0x160
  9e:	9925      	ldr	r1, [sp, #148]	; 0x94
  a0:	9159      	str	r1, [sp, #356]	; 0x164
  a2:	e7ff      	b.n	a4 <app::touch_sensor::read_touchdata+0xa4>
  a4:	a858      	add	r0, sp, #352	; 0x160
  a6:	f7ff fffe 	bl	0 <core::iter::range::<impl core::iter::traits::iterator::Iterator for core::ops::range::Range<A>>::next>
  aa:	915c      	str	r1, [sp, #368]	; 0x170
  ac:	905b      	str	r0, [sp, #364]	; 0x16c
  ae:	e7ff      	b.n	b0 <app::touch_sensor::read_touchdata+0xb0>
  b0:	985b      	ldr	r0, [sp, #364]	; 0x16c
  b2:	2800      	cmp	r0, #0
  b4:	d001      	beq.n	ba <app::touch_sensor::read_touchdata+0xba>
  b6:	e7ff      	b.n	b8 <app::touch_sensor::read_touchdata+0xb8>
  b8:	e001      	b.n	be <app::touch_sensor::read_touchdata+0xbe>
  ba:	e00f      	b.n	dc <app::touch_sensor::read_touchdata+0xdc>
  bc:	defe      	udf	#254	; 0xfe
  be:	985c      	ldr	r0, [sp, #368]	; 0x170
  c0:	905d      	str	r0, [sp, #372]	; 0x174
  c2:	985d      	ldr	r0, [sp, #372]	; 0x174
  c4:	905a      	str	r0, [sp, #360]	; 0x168
  c6:	985a      	ldr	r0, [sp, #360]	; 0x168
  c8:	905e      	str	r0, [sp, #376]	; 0x178
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:149
        let pointid = unsafe { BUF[HYN_TOUCH_ID_POS + HYN_TOUCH_STEP * i] } >> 4;
  ca:	985e      	ldr	r0, [sp, #376]	; 0x178
  cc:	2106      	movs	r1, #6
  ce:	fba1 0100 	umull	r0, r1, r1, r0
  d2:	2900      	cmp	r1, #0
  d4:	9024      	str	r0, [sp, #144]	; 0x90
  d6:	f040 81c9 	bne.w	46c <app::touch_sensor::read_touchdata+0x46c>
  da:	e002      	b.n	e2 <app::touch_sensor::read_touchdata+0xe2>
  dc:	2001      	movs	r0, #1
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:181
            && (data.point_num == 0) {
            break;
        }
    }
    Ok(())
}
  de:	b062      	add	sp, #392	; 0x188
  e0:	bd80      	pop	{r7, pc}
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:149
        let pointid = unsafe { BUF[HYN_TOUCH_ID_POS + HYN_TOUCH_STEP * i] } >> 4;
  e2:	9824      	ldr	r0, [sp, #144]	; 0x90
  e4:	1d41      	adds	r1, r0, #5
  e6:	460a      	mov	r2, r1
  e8:	4281      	cmp	r1, r0
  ea:	9223      	str	r2, [sp, #140]	; 0x8c
  ec:	f0c0 81ca 	bcc.w	484 <app::touch_sensor::read_touchdata+0x484>
  f0:	e7ff      	b.n	f2 <app::touch_sensor::read_touchdata+0xf2>
  f2:	9823      	ldr	r0, [sp, #140]	; 0x8c
  f4:	283e      	cmp	r0, #62	; 0x3e
  f6:	f200 81d1 	bhi.w	49c <app::touch_sensor::read_touchdata+0x49c>
  fa:	e7ff      	b.n	2 <app::touch_sensor::read_touchdata+0x2>
  fc:	f240 0000 	movw	r0, #0
 100:	f2c0 0000 	movt	r0, #0
 104:	9923      	ldr	r1, [sp, #140]	; 0x8c
 106:	5c40      	ldrb	r0, [r0, r1]
 108:	0900      	lsrs	r0, r0, #4
 10a:	9022      	str	r0, [sp, #136]	; 0x88
 10c:	e7ff      	b.n	10e <app::touch_sensor::read_touchdata+0x10e>
 10e:	9822      	ldr	r0, [sp, #136]	; 0x88
 110:	f88d 017d 	strb.w	r0, [sp, #381]	; 0x17d
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:150
        if pointid >= HYN_MAX_ID { break; }
 114:	f89d 117d 	ldrb.w	r1, [sp, #381]	; 0x17d
 118:	290e      	cmp	r1, #14
 11a:	d80b      	bhi.n	134 <app::touch_sensor::read_touchdata+0x134>
 11c:	e7ff      	b.n	11e <app::touch_sensor::read_touchdata+0x11e>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:153
        data.count += 1;
 11e:	982c      	ldr	r0, [sp, #176]	; 0xb0
 120:	f890 0050 	ldrb.w	r0, [r0, #80]	; 0x50
 124:	3001      	adds	r0, #1
 126:	b2c1      	uxtb	r1, r0
 128:	4602      	mov	r2, r0
 12a:	4281      	cmp	r1, r0
 12c:	9221      	str	r2, [sp, #132]	; 0x84
 12e:	f040 81be 	bne.w	4ae <app::touch_sensor::read_touchdata+0x4ae>
 132:	e001      	b.n	138 <app::touch_sensor::read_touchdata+0x138>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:150
        if pointid >= HYN_MAX_ID { break; }
 134:	e7ff      	b.n	136 <app::touch_sensor::read_touchdata+0x136>
 136:	e7d1      	b.n	dc <app::touch_sensor::read_touchdata+0xdc>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:153
        data.count += 1;
 138:	982c      	ldr	r0, [sp, #176]	; 0xb0
 13a:	9921      	ldr	r1, [sp, #132]	; 0x84
 13c:	f880 1050 	strb.w	r1, [r0, #80]	; 0x50
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:154
        let x_high = unsafe { BUF[HYN_TOUCH_X_H_POS + HYN_TOUCH_STEP * i] & 0x0F } as u16;
 140:	985e      	ldr	r0, [sp, #376]	; 0x178
 142:	2206      	movs	r2, #6
 144:	fba2 0200 	umull	r0, r2, r2, r0
 148:	2a00      	cmp	r2, #0
 14a:	9020      	str	r0, [sp, #128]	; 0x80
 14c:	f040 81bb 	bne.w	4c6 <app::touch_sensor::read_touchdata+0x4c6>
 150:	e7ff      	b.n	152 <app::touch_sensor::read_touchdata+0x152>
 152:	9820      	ldr	r0, [sp, #128]	; 0x80
 154:	1cc1      	adds	r1, r0, #3
 156:	460a      	mov	r2, r1
 158:	4281      	cmp	r1, r0
 15a:	921f      	str	r2, [sp, #124]	; 0x7c
 15c:	f0c0 81bf 	bcc.w	4de <app::touch_sensor::read_touchdata+0x4de>
 160:	e7ff      	b.n	162 <app::touch_sensor::read_touchdata+0x162>
 162:	981f      	ldr	r0, [sp, #124]	; 0x7c
 164:	283e      	cmp	r0, #62	; 0x3e
 166:	f200 81c6 	bhi.w	4f6 <app::touch_sensor::read_touchdata+0x4f6>
 16a:	e7ff      	b.n	2 <app::touch_sensor::read_touchdata+0x2>
 16c:	f240 0000 	movw	r0, #0
 170:	f2c0 0000 	movt	r0, #0
 174:	991f      	ldr	r1, [sp, #124]	; 0x7c
 176:	5c40      	ldrb	r0, [r0, r1]
 178:	f000 000f 	and.w	r0, r0, #15
 17c:	f8ad 017e 	strh.w	r0, [sp, #382]	; 0x17e
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:155
        let x_low  = unsafe { BUF[HYN_TOUCH_X_L_POS + HYN_TOUCH_STEP * i] } as u16;
 180:	985e      	ldr	r0, [sp, #376]	; 0x178
 182:	2206      	movs	r2, #6
 184:	fba2 0200 	umull	r0, r2, r2, r0
 188:	2a00      	cmp	r2, #0
 18a:	901e      	str	r0, [sp, #120]	; 0x78
 18c:	f040 81bc 	bne.w	508 <app::touch_sensor::read_touchdata+0x508>
 190:	e7ff      	b.n	192 <app::touch_sensor::read_touchdata+0x192>
 192:	981e      	ldr	r0, [sp, #120]	; 0x78
 194:	1d01      	adds	r1, r0, #4
 196:	460a      	mov	r2, r1
 198:	4281      	cmp	r1, r0
 19a:	921d      	str	r2, [sp, #116]	; 0x74
 19c:	f0c0 81c0 	bcc.w	520 <app::touch_sensor::read_touchdata+0x520>
 1a0:	e7ff      	b.n	1a2 <app::touch_sensor::read_touchdata+0x1a2>
 1a2:	981d      	ldr	r0, [sp, #116]	; 0x74
 1a4:	283e      	cmp	r0, #62	; 0x3e
 1a6:	f200 81c7 	bhi.w	538 <app::touch_sensor::read_touchdata+0x538>
 1aa:	e7ff      	b.n	2 <app::touch_sensor::read_touchdata+0x2>
 1ac:	f240 0000 	movw	r0, #0
 1b0:	f2c0 0000 	movt	r0, #0
 1b4:	991d      	ldr	r1, [sp, #116]	; 0x74
 1b6:	5c40      	ldrb	r0, [r0, r1]
 1b8:	f8ad 0180 	strh.w	r0, [sp, #384]	; 0x180
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:156
        data.touches[i].x  = (x_high << 8) | x_low;
 1bc:	f8bd 017e 	ldrh.w	r0, [sp, #382]	; 0x17e
 1c0:	0200      	lsls	r0, r0, #8
 1c2:	901c      	str	r0, [sp, #112]	; 0x70
 1c4:	e7ff      	b.n	1c6 <app::touch_sensor::read_touchdata+0x1c6>
 1c6:	f8bd 0180 	ldrh.w	r0, [sp, #384]	; 0x180
 1ca:	995e      	ldr	r1, [sp, #376]	; 0x178
 1cc:	2909      	cmp	r1, #9
 1ce:	901b      	str	r0, [sp, #108]	; 0x6c
 1d0:	911a      	str	r1, [sp, #104]	; 0x68
 1d2:	f200 81ba 	bhi.w	54a <app::touch_sensor::read_touchdata+0x54a>
 1d6:	e7ff      	b.n	1d8 <app::touch_sensor::read_touchdata+0x1d8>
 1d8:	982c      	ldr	r0, [sp, #176]	; 0xb0
 1da:	991c      	ldr	r1, [sp, #112]	; 0x70
 1dc:	9a1b      	ldr	r2, [sp, #108]	; 0x6c
 1de:	ea41 0302 	orr.w	r3, r1, r2
 1e2:	f8dd c068 	ldr.w	ip, [sp, #104]	; 0x68
 1e6:	f820 303c 	strh.w	r3, [r0, ip, lsl #3]
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:158
        let y_high = unsafe { BUF[HYN_TOUCH_Y_H_POS + HYN_TOUCH_STEP * i] & 0x0F } as u16;
 1ea:	985e      	ldr	r0, [sp, #376]	; 0x178
 1ec:	2306      	movs	r3, #6
 1ee:	fba3 0300 	umull	r0, r3, r3, r0
 1f2:	2b00      	cmp	r3, #0
 1f4:	9019      	str	r0, [sp, #100]	; 0x64
 1f6:	f040 81b1 	bne.w	55c <app::touch_sensor::read_touchdata+0x55c>
 1fa:	e7ff      	b.n	1fc <app::touch_sensor::read_touchdata+0x1fc>
 1fc:	9819      	ldr	r0, [sp, #100]	; 0x64
 1fe:	1d41      	adds	r1, r0, #5
 200:	460a      	mov	r2, r1
 202:	4281      	cmp	r1, r0
 204:	9218      	str	r2, [sp, #96]	; 0x60
 206:	f0c0 81b5 	bcc.w	574 <app::touch_sensor::read_touchdata+0x574>
 20a:	e7ff      	b.n	20c <app::touch_sensor::read_touchdata+0x20c>
 20c:	9818      	ldr	r0, [sp, #96]	; 0x60
 20e:	283e      	cmp	r0, #62	; 0x3e
 210:	f200 81bc 	bhi.w	58c <app::touch_sensor::read_touchdata+0x58c>
 214:	e7ff      	b.n	2 <app::touch_sensor::read_touchdata+0x2>
 216:	f240 0000 	movw	r0, #0
 21a:	f2c0 0000 	movt	r0, #0
 21e:	9918      	ldr	r1, [sp, #96]	; 0x60
 220:	5c40      	ldrb	r0, [r0, r1]
 222:	f000 000f 	and.w	r0, r0, #15
 226:	f8ad 0182 	strh.w	r0, [sp, #386]	; 0x182
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:159
        let y_low  = unsafe { BUF[HYN_TOUCH_Y_L_POS + HYN_TOUCH_STEP * i] } as u16;
 22a:	985e      	ldr	r0, [sp, #376]	; 0x178
 22c:	2206      	movs	r2, #6
 22e:	fba2 0200 	umull	r0, r2, r2, r0
 232:	2a00      	cmp	r2, #0
 234:	9017      	str	r0, [sp, #92]	; 0x5c
 236:	f040 81b2 	bne.w	59e <app::touch_sensor::read_touchdata+0x59e>
 23a:	e7ff      	b.n	23c <app::touch_sensor::read_touchdata+0x23c>
 23c:	9817      	ldr	r0, [sp, #92]	; 0x5c
 23e:	1d81      	adds	r1, r0, #6
 240:	460a      	mov	r2, r1
 242:	4281      	cmp	r1, r0
 244:	9216      	str	r2, [sp, #88]	; 0x58
 246:	f0c0 81b6 	bcc.w	5b6 <app::touch_sensor::read_touchdata+0x5b6>
 24a:	e7ff      	b.n	24c <app::touch_sensor::read_touchdata+0x24c>
 24c:	9816      	ldr	r0, [sp, #88]	; 0x58
 24e:	283e      	cmp	r0, #62	; 0x3e
 250:	f200 81bd 	bhi.w	5ce <app::touch_sensor::read_touchdata+0x5ce>
 254:	e7ff      	b.n	2 <app::touch_sensor::read_touchdata+0x2>
 256:	f240 0000 	movw	r0, #0
 25a:	f2c0 0000 	movt	r0, #0
 25e:	9916      	ldr	r1, [sp, #88]	; 0x58
 260:	5c40      	ldrb	r0, [r0, r1]
 262:	f8ad 0184 	strh.w	r0, [sp, #388]	; 0x184
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:160
        data.touches[i].y  = (y_high << 8) | y_low;
 266:	f8bd 0182 	ldrh.w	r0, [sp, #386]	; 0x182
 26a:	0200      	lsls	r0, r0, #8
 26c:	9015      	str	r0, [sp, #84]	; 0x54
 26e:	e7ff      	b.n	270 <app::touch_sensor::read_touchdata+0x270>
 270:	f8bd 0184 	ldrh.w	r0, [sp, #388]	; 0x184
 274:	995e      	ldr	r1, [sp, #376]	; 0x178
 276:	2909      	cmp	r1, #9
 278:	9014      	str	r0, [sp, #80]	; 0x50
 27a:	9113      	str	r1, [sp, #76]	; 0x4c
 27c:	f200 81b0 	bhi.w	5e0 <app::touch_sensor::read_touchdata+0x5e0>
 280:	e7ff      	b.n	282 <app::touch_sensor::read_touchdata+0x282>
 282:	982c      	ldr	r0, [sp, #176]	; 0xb0
 284:	9913      	ldr	r1, [sp, #76]	; 0x4c
 286:	eb00 00c1 	add.w	r0, r0, r1, lsl #3
 28a:	9a15      	ldr	r2, [sp, #84]	; 0x54
 28c:	9b14      	ldr	r3, [sp, #80]	; 0x50
 28e:	ea42 0c03 	orr.w	ip, r2, r3
 292:	f8a0 c002 	strh.w	ip, [r0, #2]
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:164
            unsafe { BUF[HYN_TOUCH_EVENT_POS + HYN_TOUCH_STEP * i] } >> 6;
 296:	985e      	ldr	r0, [sp, #376]	; 0x178
 298:	f04f 0c06 	mov.w	ip, #6
 29c:	fbac 0c00 	umull	r0, ip, ip, r0
 2a0:	f1bc 0f00 	cmp.w	ip, #0
 2a4:	9012      	str	r0, [sp, #72]	; 0x48
 2a6:	f040 81a4 	bne.w	5f2 <app::touch_sensor::read_touchdata+0x5f2>
 2aa:	e7ff      	b.n	2ac <app::touch_sensor::read_touchdata+0x2ac>
 2ac:	9812      	ldr	r0, [sp, #72]	; 0x48
 2ae:	1cc1      	adds	r1, r0, #3
 2b0:	460a      	mov	r2, r1
 2b2:	4281      	cmp	r1, r0
 2b4:	9211      	str	r2, [sp, #68]	; 0x44
 2b6:	f0c0 81a8 	bcc.w	60a <app::touch_sensor::read_touchdata+0x60a>
 2ba:	e7ff      	b.n	2bc <app::touch_sensor::read_touchdata+0x2bc>
 2bc:	9811      	ldr	r0, [sp, #68]	; 0x44
 2be:	283e      	cmp	r0, #62	; 0x3e
 2c0:	f200 81af 	bhi.w	622 <app::touch_sensor::read_touchdata+0x622>
 2c4:	e7ff      	b.n	2 <app::touch_sensor::read_touchdata+0x2>
 2c6:	f240 0000 	movw	r0, #0
 2ca:	f2c0 0000 	movt	r0, #0
 2ce:	9911      	ldr	r1, [sp, #68]	; 0x44
 2d0:	5c40      	ldrb	r0, [r0, r1]
 2d2:	0980      	lsrs	r0, r0, #6
 2d4:	9010      	str	r0, [sp, #64]	; 0x40
 2d6:	e7ff      	b.n	2d8 <app::touch_sensor::read_touchdata+0x2d8>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:163
        data.touches[i].action =
 2d8:	985e      	ldr	r0, [sp, #376]	; 0x178
 2da:	2809      	cmp	r0, #9
 2dc:	900f      	str	r0, [sp, #60]	; 0x3c
 2de:	f200 81a9 	bhi.w	634 <app::touch_sensor::read_touchdata+0x634>
 2e2:	e7ff      	b.n	2e4 <app::touch_sensor::read_touchdata+0x2e4>
 2e4:	982c      	ldr	r0, [sp, #176]	; 0xb0
 2e6:	990f      	ldr	r1, [sp, #60]	; 0x3c
 2e8:	eb00 00c1 	add.w	r0, r0, r1, lsl #3
 2ec:	9a10      	ldr	r2, [sp, #64]	; 0x40
 2ee:	7102      	strb	r2, [r0, #4]
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:166
            unsafe { BUF[HYN_TOUCH_ID_POS    + HYN_TOUCH_STEP * i] } >> 4;
 2f0:	985e      	ldr	r0, [sp, #376]	; 0x178
 2f2:	2306      	movs	r3, #6
 2f4:	fba3 0300 	umull	r0, r3, r3, r0
 2f8:	2b00      	cmp	r3, #0
 2fa:	900e      	str	r0, [sp, #56]	; 0x38
 2fc:	f040 81a3 	bne.w	646 <app::touch_sensor::read_touchdata+0x646>
 300:	e7ff      	b.n	302 <app::touch_sensor::read_touchdata+0x302>
 302:	980e      	ldr	r0, [sp, #56]	; 0x38
 304:	1d41      	adds	r1, r0, #5
 306:	460a      	mov	r2, r1
 308:	4281      	cmp	r1, r0
 30a:	920d      	str	r2, [sp, #52]	; 0x34
 30c:	f0c0 81a7 	bcc.w	65e <app::touch_sensor::read_touchdata+0x65e>
 310:	e7ff      	b.n	312 <app::touch_sensor::read_touchdata+0x312>
 312:	980d      	ldr	r0, [sp, #52]	; 0x34
 314:	283e      	cmp	r0, #62	; 0x3e
 316:	f200 81ae 	bhi.w	676 <app::touch_sensor::read_touchdata+0x676>
 31a:	e7ff      	b.n	2 <app::touch_sensor::read_touchdata+0x2>
 31c:	f240 0000 	movw	r0, #0
 320:	f2c0 0000 	movt	r0, #0
 324:	990d      	ldr	r1, [sp, #52]	; 0x34
 326:	5c40      	ldrb	r0, [r0, r1]
 328:	0900      	lsrs	r0, r0, #4
 32a:	900c      	str	r0, [sp, #48]	; 0x30
 32c:	e7ff      	b.n	32e <app::touch_sensor::read_touchdata+0x32e>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:165
        data.touches[i].finger =
 32e:	985e      	ldr	r0, [sp, #376]	; 0x178
 330:	2809      	cmp	r0, #9
 332:	900b      	str	r0, [sp, #44]	; 0x2c
 334:	f200 81a8 	bhi.w	688 <app::touch_sensor::read_touchdata+0x688>
 338:	e7ff      	b.n	33a <app::touch_sensor::read_touchdata+0x33a>
 33a:	982c      	ldr	r0, [sp, #176]	; 0xb0
 33c:	990b      	ldr	r1, [sp, #44]	; 0x2c
 33e:	eb00 00c1 	add.w	r0, r0, r1, lsl #3
 342:	9a0c      	ldr	r2, [sp, #48]	; 0x30
 344:	7142      	strb	r2, [r0, #5]
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:170
            unsafe { BUF[HYN_TOUCH_XY_POS + HYN_TOUCH_STEP * i] };  //  Can't be constant value
 346:	985e      	ldr	r0, [sp, #376]	; 0x178
 348:	2306      	movs	r3, #6
 34a:	fba3 0300 	umull	r0, r3, r3, r0
 34e:	2b00      	cmp	r3, #0
 350:	900a      	str	r0, [sp, #40]	; 0x28
 352:	f040 81a2 	bne.w	69a <app::touch_sensor::read_touchdata+0x69a>
 356:	e7ff      	b.n	358 <app::touch_sensor::read_touchdata+0x358>
 358:	980a      	ldr	r0, [sp, #40]	; 0x28
 35a:	1dc1      	adds	r1, r0, #7
 35c:	460a      	mov	r2, r1
 35e:	4281      	cmp	r1, r0
 360:	9209      	str	r2, [sp, #36]	; 0x24
 362:	f0c0 81a6 	bcc.w	6b2 <app::touch_sensor::read_touchdata+0x6b2>
 366:	e7ff      	b.n	368 <app::touch_sensor::read_touchdata+0x368>
 368:	9809      	ldr	r0, [sp, #36]	; 0x24
 36a:	283e      	cmp	r0, #62	; 0x3e
 36c:	f200 81ad 	bhi.w	6ca <app::touch_sensor::read_touchdata+0x6ca>
 370:	e7ff      	b.n	2 <app::touch_sensor::read_touchdata+0x2>
 372:	f240 0000 	movw	r0, #0
 376:	f2c0 0000 	movt	r0, #0
 37a:	9909      	ldr	r1, [sp, #36]	; 0x24
 37c:	5c40      	ldrb	r0, [r0, r1]
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:169
        data.touches[i].pressure =
 37e:	9a5e      	ldr	r2, [sp, #376]	; 0x178
 380:	2a09      	cmp	r2, #9
 382:	9008      	str	r0, [sp, #32]
 384:	9207      	str	r2, [sp, #28]
 386:	f200 81a9 	bhi.w	6dc <app::touch_sensor::read_touchdata+0x6dc>
 38a:	e7ff      	b.n	38c <app::touch_sensor::read_touchdata+0x38c>
 38c:	982c      	ldr	r0, [sp, #176]	; 0xb0
 38e:	9907      	ldr	r1, [sp, #28]
 390:	eb00 00c1 	add.w	r0, r0, r1, lsl #3
 394:	9a08      	ldr	r2, [sp, #32]
 396:	7182      	strb	r2, [r0, #6]
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:172
            unsafe { BUF[HYN_TOUCH_MISC   + HYN_TOUCH_STEP * i] } >> 4;
 398:	985e      	ldr	r0, [sp, #376]	; 0x178
 39a:	2306      	movs	r3, #6
 39c:	fba3 0300 	umull	r0, r3, r3, r0
 3a0:	2b00      	cmp	r3, #0
 3a2:	9006      	str	r0, [sp, #24]
 3a4:	f040 81a3 	bne.w	6ee <app::touch_sensor::read_touchdata+0x6ee>
 3a8:	e7ff      	b.n	3aa <app::touch_sensor::read_touchdata+0x3aa>
 3aa:	9806      	ldr	r0, [sp, #24]
 3ac:	f100 0108 	add.w	r1, r0, #8
 3b0:	460a      	mov	r2, r1
 3b2:	4281      	cmp	r1, r0
 3b4:	9205      	str	r2, [sp, #20]
 3b6:	f0c0 81a6 	bcc.w	706 <app::touch_sensor::read_touchdata+0x706>
 3ba:	e7ff      	b.n	3bc <app::touch_sensor::read_touchdata+0x3bc>
 3bc:	9805      	ldr	r0, [sp, #20]
 3be:	283e      	cmp	r0, #62	; 0x3e
 3c0:	f200 81ad 	bhi.w	71e <app::touch_sensor::read_touchdata+0x71e>
 3c4:	e7ff      	b.n	2 <app::touch_sensor::read_touchdata+0x2>
 3c6:	f240 0000 	movw	r0, #0
 3ca:	f2c0 0000 	movt	r0, #0
 3ce:	9905      	ldr	r1, [sp, #20]
 3d0:	5c40      	ldrb	r0, [r0, r1]
 3d2:	0900      	lsrs	r0, r0, #4
 3d4:	9004      	str	r0, [sp, #16]
 3d6:	e7ff      	b.n	3d8 <app::touch_sensor::read_touchdata+0x3d8>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:171
        data.touches[i].area =
 3d8:	985e      	ldr	r0, [sp, #376]	; 0x178
 3da:	2809      	cmp	r0, #9
 3dc:	9003      	str	r0, [sp, #12]
 3de:	f200 81a7 	bhi.w	730 <app::touch_sensor::read_touchdata+0x730>
 3e2:	e7ff      	b.n	3e4 <app::touch_sensor::read_touchdata+0x3e4>
 3e4:	982c      	ldr	r0, [sp, #176]	; 0xb0
 3e6:	9903      	ldr	r1, [sp, #12]
 3e8:	eb00 00c1 	add.w	r0, r0, r1, lsl #3
 3ec:	9a04      	ldr	r2, [sp, #16]
 3ee:	71c2      	strb	r2, [r0, #7]
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:175
        if (data.touches[i].action == 0 || data.touches[i].action == 2)  //  If touch is down or contact
 3f0:	985e      	ldr	r0, [sp, #376]	; 0x178
 3f2:	280a      	cmp	r0, #10
 3f4:	9002      	str	r0, [sp, #8]
 3f6:	d327      	bcc.n	448 <app::touch_sensor::read_touchdata+0x448>
 3f8:	e1a3      	b.n	742 <app::touch_sensor::read_touchdata+0x742>
 3fa:	2001      	movs	r0, #1
 3fc:	f88d 0186 	strb.w	r0, [sp, #390]	; 0x186
 400:	e009      	b.n	416 <app::touch_sensor::read_touchdata+0x416>
 402:	2000      	movs	r0, #0
 404:	f88d 0186 	strb.w	r0, [sp, #390]	; 0x186
 408:	e005      	b.n	416 <app::touch_sensor::read_touchdata+0x416>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:176
            && (data.point_num == 0) {
 40a:	982c      	ldr	r0, [sp, #176]	; 0xb0
 40c:	f890 0051 	ldrb.w	r0, [r0, #81]	; 0x51
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:175
        if (data.touches[i].action == 0 || data.touches[i].action == 2)  //  If touch is down or contact
 410:	2800      	cmp	r0, #0
 412:	d0f2      	beq.n	3fa <app::touch_sensor::read_touchdata+0x3fa>
 414:	e7f5      	b.n	402 <app::touch_sensor::read_touchdata+0x402>
 416:	f89d 0186 	ldrb.w	r0, [sp, #390]	; 0x186
 41a:	07c0      	lsls	r0, r0, #31
 41c:	2800      	cmp	r0, #0
 41e:	d124      	bne.n	46a <app::touch_sensor::read_touchdata+0x46a>
 420:	e022      	b.n	468 <app::touch_sensor::read_touchdata+0x468>
 422:	2001      	movs	r0, #1
 424:	f88d 0187 	strb.w	r0, [sp, #391]	; 0x187
 428:	e008      	b.n	43c <app::touch_sensor::read_touchdata+0x43c>
 42a:	2000      	movs	r0, #0
 42c:	f88d 0187 	strb.w	r0, [sp, #391]	; 0x187
 430:	e004      	b.n	43c <app::touch_sensor::read_touchdata+0x43c>
 432:	985e      	ldr	r0, [sp, #376]	; 0x178
 434:	280a      	cmp	r0, #10
 436:	9001      	str	r0, [sp, #4]
 438:	d30e      	bcc.n	458 <app::touch_sensor::read_touchdata+0x458>
 43a:	e18b      	b.n	754 <app::touch_sensor::read_touchdata+0x754>
 43c:	f89d 0187 	ldrb.w	r0, [sp, #391]	; 0x187
 440:	07c0      	lsls	r0, r0, #31
 442:	2800      	cmp	r0, #0
 444:	d1e1      	bne.n	40a <app::touch_sensor::read_touchdata+0x40a>
 446:	e7dc      	b.n	402 <app::touch_sensor::read_touchdata+0x402>
 448:	982c      	ldr	r0, [sp, #176]	; 0xb0
 44a:	9902      	ldr	r1, [sp, #8]
 44c:	eb00 00c1 	add.w	r0, r0, r1, lsl #3
 450:	7900      	ldrb	r0, [r0, #4]
 452:	2800      	cmp	r0, #0
 454:	d0e5      	beq.n	422 <app::touch_sensor::read_touchdata+0x422>
 456:	e7ec      	b.n	432 <app::touch_sensor::read_touchdata+0x432>
 458:	982c      	ldr	r0, [sp, #176]	; 0xb0
 45a:	9901      	ldr	r1, [sp, #4]
 45c:	eb00 00c1 	add.w	r0, r0, r1, lsl #3
 460:	7900      	ldrb	r0, [r0, #4]
 462:	2802      	cmp	r0, #2
 464:	d0dd      	beq.n	422 <app::touch_sensor::read_touchdata+0x422>
 466:	e7e0      	b.n	42a <app::touch_sensor::read_touchdata+0x42a>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:148
    for i in 0..CFG_MAX_TOUCH_POINTS {
 468:	e61c      	b.n	a4 <app::touch_sensor::read_touchdata+0xa4>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:177
            break;
 46a:	e664      	b.n	136 <app::touch_sensor::read_touchdata+0x136>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:149
        let pointid = unsafe { BUF[HYN_TOUCH_ID_POS + HYN_TOUCH_STEP * i] } >> 4;
 46c:	f240 0000 	movw	r0, #0
 470:	f2c0 0000 	movt	r0, #0
 474:	f240 0200 	movw	r2, #0
 478:	f2c0 0200 	movt	r2, #0
 47c:	2121      	movs	r1, #33	; 0x21
 47e:	f7ff fffe 	bl	0 <core::panicking::panic>
 482:	defe      	udf	#254	; 0xfe
 484:	f240 0000 	movw	r0, #0
 488:	f2c0 0000 	movt	r0, #0
 48c:	f240 0200 	movw	r2, #0
 490:	f2c0 0200 	movt	r2, #0
 494:	211c      	movs	r1, #28
 496:	f7ff fffe 	bl	0 <core::panicking::panic>
 49a:	defe      	udf	#254	; 0xfe
 49c:	f240 0000 	movw	r0, #0
 4a0:	f2c0 0000 	movt	r0, #0
 4a4:	223f      	movs	r2, #63	; 0x3f
 4a6:	9923      	ldr	r1, [sp, #140]	; 0x8c
 4a8:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 4ac:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:153
        data.count += 1;
 4ae:	f240 0000 	movw	r0, #0
 4b2:	f2c0 0000 	movt	r0, #0
 4b6:	f240 0200 	movw	r2, #0
 4ba:	f2c0 0200 	movt	r2, #0
 4be:	211c      	movs	r1, #28
 4c0:	f7ff fffe 	bl	0 <core::panicking::panic>
 4c4:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:154
        let x_high = unsafe { BUF[HYN_TOUCH_X_H_POS + HYN_TOUCH_STEP * i] & 0x0F } as u16;
 4c6:	f240 0000 	movw	r0, #0
 4ca:	f2c0 0000 	movt	r0, #0
 4ce:	f240 0200 	movw	r2, #0
 4d2:	f2c0 0200 	movt	r2, #0
 4d6:	2121      	movs	r1, #33	; 0x21
 4d8:	f7ff fffe 	bl	0 <core::panicking::panic>
 4dc:	defe      	udf	#254	; 0xfe
 4de:	f240 0000 	movw	r0, #0
 4e2:	f2c0 0000 	movt	r0, #0
 4e6:	f240 0200 	movw	r2, #0
 4ea:	f2c0 0200 	movt	r2, #0
 4ee:	211c      	movs	r1, #28
 4f0:	f7ff fffe 	bl	0 <core::panicking::panic>
 4f4:	defe      	udf	#254	; 0xfe
 4f6:	f240 0000 	movw	r0, #0
 4fa:	f2c0 0000 	movt	r0, #0
 4fe:	223f      	movs	r2, #63	; 0x3f
 500:	991f      	ldr	r1, [sp, #124]	; 0x7c
 502:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 506:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:155
        let x_low  = unsafe { BUF[HYN_TOUCH_X_L_POS + HYN_TOUCH_STEP * i] } as u16;
 508:	f240 0000 	movw	r0, #0
 50c:	f2c0 0000 	movt	r0, #0
 510:	f240 0200 	movw	r2, #0
 514:	f2c0 0200 	movt	r2, #0
 518:	2121      	movs	r1, #33	; 0x21
 51a:	f7ff fffe 	bl	0 <core::panicking::panic>
 51e:	defe      	udf	#254	; 0xfe
 520:	f240 0000 	movw	r0, #0
 524:	f2c0 0000 	movt	r0, #0
 528:	f240 0200 	movw	r2, #0
 52c:	f2c0 0200 	movt	r2, #0
 530:	211c      	movs	r1, #28
 532:	f7ff fffe 	bl	0 <core::panicking::panic>
 536:	defe      	udf	#254	; 0xfe
 538:	f240 0000 	movw	r0, #0
 53c:	f2c0 0000 	movt	r0, #0
 540:	223f      	movs	r2, #63	; 0x3f
 542:	991d      	ldr	r1, [sp, #116]	; 0x74
 544:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 548:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:156
        data.touches[i].x  = (x_high << 8) | x_low;
 54a:	f240 0000 	movw	r0, #0
 54e:	f2c0 0000 	movt	r0, #0
 552:	220a      	movs	r2, #10
 554:	991a      	ldr	r1, [sp, #104]	; 0x68
 556:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 55a:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:158
        let y_high = unsafe { BUF[HYN_TOUCH_Y_H_POS + HYN_TOUCH_STEP * i] & 0x0F } as u16;
 55c:	f240 0000 	movw	r0, #0
 560:	f2c0 0000 	movt	r0, #0
 564:	f240 0200 	movw	r2, #0
 568:	f2c0 0200 	movt	r2, #0
 56c:	2121      	movs	r1, #33	; 0x21
 56e:	f7ff fffe 	bl	0 <core::panicking::panic>
 572:	defe      	udf	#254	; 0xfe
 574:	f240 0000 	movw	r0, #0
 578:	f2c0 0000 	movt	r0, #0
 57c:	f240 0200 	movw	r2, #0
 580:	f2c0 0200 	movt	r2, #0
 584:	211c      	movs	r1, #28
 586:	f7ff fffe 	bl	0 <core::panicking::panic>
 58a:	defe      	udf	#254	; 0xfe
 58c:	f240 0000 	movw	r0, #0
 590:	f2c0 0000 	movt	r0, #0
 594:	223f      	movs	r2, #63	; 0x3f
 596:	9918      	ldr	r1, [sp, #96]	; 0x60
 598:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 59c:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:159
        let y_low  = unsafe { BUF[HYN_TOUCH_Y_L_POS + HYN_TOUCH_STEP * i] } as u16;
 59e:	f240 0000 	movw	r0, #0
 5a2:	f2c0 0000 	movt	r0, #0
 5a6:	f240 0200 	movw	r2, #0
 5aa:	f2c0 0200 	movt	r2, #0
 5ae:	2121      	movs	r1, #33	; 0x21
 5b0:	f7ff fffe 	bl	0 <core::panicking::panic>
 5b4:	defe      	udf	#254	; 0xfe
 5b6:	f240 0000 	movw	r0, #0
 5ba:	f2c0 0000 	movt	r0, #0
 5be:	f240 0200 	movw	r2, #0
 5c2:	f2c0 0200 	movt	r2, #0
 5c6:	211c      	movs	r1, #28
 5c8:	f7ff fffe 	bl	0 <core::panicking::panic>
 5cc:	defe      	udf	#254	; 0xfe
 5ce:	f240 0000 	movw	r0, #0
 5d2:	f2c0 0000 	movt	r0, #0
 5d6:	223f      	movs	r2, #63	; 0x3f
 5d8:	9916      	ldr	r1, [sp, #88]	; 0x58
 5da:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 5de:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:160
        data.touches[i].y  = (y_high << 8) | y_low;
 5e0:	f240 0000 	movw	r0, #0
 5e4:	f2c0 0000 	movt	r0, #0
 5e8:	220a      	movs	r2, #10
 5ea:	9913      	ldr	r1, [sp, #76]	; 0x4c
 5ec:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 5f0:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:164
            unsafe { BUF[HYN_TOUCH_EVENT_POS + HYN_TOUCH_STEP * i] } >> 6;
 5f2:	f240 0000 	movw	r0, #0
 5f6:	f2c0 0000 	movt	r0, #0
 5fa:	f240 0200 	movw	r2, #0
 5fe:	f2c0 0200 	movt	r2, #0
 602:	2121      	movs	r1, #33	; 0x21
 604:	f7ff fffe 	bl	0 <core::panicking::panic>
 608:	defe      	udf	#254	; 0xfe
 60a:	f240 0000 	movw	r0, #0
 60e:	f2c0 0000 	movt	r0, #0
 612:	f240 0200 	movw	r2, #0
 616:	f2c0 0200 	movt	r2, #0
 61a:	211c      	movs	r1, #28
 61c:	f7ff fffe 	bl	0 <core::panicking::panic>
 620:	defe      	udf	#254	; 0xfe
 622:	f240 0000 	movw	r0, #0
 626:	f2c0 0000 	movt	r0, #0
 62a:	223f      	movs	r2, #63	; 0x3f
 62c:	9911      	ldr	r1, [sp, #68]	; 0x44
 62e:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 632:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:163
        data.touches[i].action =
 634:	f240 0000 	movw	r0, #0
 638:	f2c0 0000 	movt	r0, #0
 63c:	220a      	movs	r2, #10
 63e:	990f      	ldr	r1, [sp, #60]	; 0x3c
 640:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 644:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:166
            unsafe { BUF[HYN_TOUCH_ID_POS    + HYN_TOUCH_STEP * i] } >> 4;
 646:	f240 0000 	movw	r0, #0
 64a:	f2c0 0000 	movt	r0, #0
 64e:	f240 0200 	movw	r2, #0
 652:	f2c0 0200 	movt	r2, #0
 656:	2121      	movs	r1, #33	; 0x21
 658:	f7ff fffe 	bl	0 <core::panicking::panic>
 65c:	defe      	udf	#254	; 0xfe
 65e:	f240 0000 	movw	r0, #0
 662:	f2c0 0000 	movt	r0, #0
 666:	f240 0200 	movw	r2, #0
 66a:	f2c0 0200 	movt	r2, #0
 66e:	211c      	movs	r1, #28
 670:	f7ff fffe 	bl	0 <core::panicking::panic>
 674:	defe      	udf	#254	; 0xfe
 676:	f240 0000 	movw	r0, #0
 67a:	f2c0 0000 	movt	r0, #0
 67e:	223f      	movs	r2, #63	; 0x3f
 680:	990d      	ldr	r1, [sp, #52]	; 0x34
 682:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 686:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:165
        data.touches[i].finger =
 688:	f240 0000 	movw	r0, #0
 68c:	f2c0 0000 	movt	r0, #0
 690:	220a      	movs	r2, #10
 692:	990b      	ldr	r1, [sp, #44]	; 0x2c
 694:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 698:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:170
            unsafe { BUF[HYN_TOUCH_XY_POS + HYN_TOUCH_STEP * i] };  //  Can't be constant value
 69a:	f240 0000 	movw	r0, #0
 69e:	f2c0 0000 	movt	r0, #0
 6a2:	f240 0200 	movw	r2, #0
 6a6:	f2c0 0200 	movt	r2, #0
 6aa:	2121      	movs	r1, #33	; 0x21
 6ac:	f7ff fffe 	bl	0 <core::panicking::panic>
 6b0:	defe      	udf	#254	; 0xfe
 6b2:	f240 0000 	movw	r0, #0
 6b6:	f2c0 0000 	movt	r0, #0
 6ba:	f240 0200 	movw	r2, #0
 6be:	f2c0 0200 	movt	r2, #0
 6c2:	211c      	movs	r1, #28
 6c4:	f7ff fffe 	bl	0 <core::panicking::panic>
 6c8:	defe      	udf	#254	; 0xfe
 6ca:	f240 0000 	movw	r0, #0
 6ce:	f2c0 0000 	movt	r0, #0
 6d2:	223f      	movs	r2, #63	; 0x3f
 6d4:	9909      	ldr	r1, [sp, #36]	; 0x24
 6d6:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 6da:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:169
        data.touches[i].pressure =
 6dc:	f240 0000 	movw	r0, #0
 6e0:	f2c0 0000 	movt	r0, #0
 6e4:	220a      	movs	r2, #10
 6e6:	9907      	ldr	r1, [sp, #28]
 6e8:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 6ec:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:172
            unsafe { BUF[HYN_TOUCH_MISC   + HYN_TOUCH_STEP * i] } >> 4;
 6ee:	f240 0000 	movw	r0, #0
 6f2:	f2c0 0000 	movt	r0, #0
 6f6:	f240 0200 	movw	r2, #0
 6fa:	f2c0 0200 	movt	r2, #0
 6fe:	2121      	movs	r1, #33	; 0x21
 700:	f7ff fffe 	bl	0 <core::panicking::panic>
 704:	defe      	udf	#254	; 0xfe
 706:	f240 0000 	movw	r0, #0
 70a:	f2c0 0000 	movt	r0, #0
 70e:	f240 0200 	movw	r2, #0
 712:	f2c0 0200 	movt	r2, #0
 716:	211c      	movs	r1, #28
 718:	f7ff fffe 	bl	0 <core::panicking::panic>
 71c:	defe      	udf	#254	; 0xfe
 71e:	f240 0000 	movw	r0, #0
 722:	f2c0 0000 	movt	r0, #0
 726:	223f      	movs	r2, #63	; 0x3f
 728:	9905      	ldr	r1, [sp, #20]
 72a:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 72e:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:171
        data.touches[i].area =
 730:	f240 0000 	movw	r0, #0
 734:	f2c0 0000 	movt	r0, #0
 738:	220a      	movs	r2, #10
 73a:	9903      	ldr	r1, [sp, #12]
 73c:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 740:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:175
        if (data.touches[i].action == 0 || data.touches[i].action == 2)  //  If touch is down or contact
 742:	f240 0000 	movw	r0, #0
 746:	f2c0 0000 	movt	r0, #0
 74a:	220a      	movs	r2, #10
 74c:	9902      	ldr	r1, [sp, #8]
 74e:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 752:	defe      	udf	#254	; 0xfe
 754:	f240 0000 	movw	r0, #0
 758:	f2c0 0000 	movt	r0, #0
 75c:	220a      	movs	r2, #10
 75e:	9901      	ldr	r1, [sp, #4]
 760:	f7ff fffe 	bl	0 <core::panicking::panic_bounds_check>
 764:	defe      	udf	#254	; 0xfe

Disassembly of section .text._ZN3app12touch_sensor19read_register_range17h37723ebd38872b8aE:

00000000 <app::touch_sensor::read_register_range>:
_ZN3app12touch_sensor19read_register_range17h37723ebd38872b8aE():
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:240

/// Event that will be forwarded to the Event Queue when a touch interrupt is triggered
static mut TOUCH_EVENT: os_event = fill_zero!(os_event);  //  Init all fields to 0 or NULL

/// Read a range of I2C registers from the I2C address `addr` (7-bit address), starting at `start_register` for count `num_registers`. Save into `buffer`.
fn read_register_range(addr: u8, start_register: u8, num_registers: u8, buffer: &mut[u8]) -> MynewtResult<()> {
   0:	b5b0      	push	{r4, r5, r7, lr}
   2:	b092      	sub	sp, #72	; 0x48
   4:	f8dd c058 	ldr.w	ip, [sp, #88]	; 0x58
   8:	4696      	mov	lr, r2
   a:	460c      	mov	r4, r1
   c:	4605      	mov	r5, r0
   e:	f88d 0031 	strb.w	r0, [sp, #49]	; 0x31
  12:	f88d 1032 	strb.w	r1, [sp, #50]	; 0x32
  16:	f88d 2033 	strb.w	r2, [sp, #51]	; 0x33
  1a:	930d      	str	r3, [sp, #52]	; 0x34
  1c:	f8cd c038 	str.w	ip, [sp, #56]	; 0x38
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:241
    assert!(buffer.len() >= num_registers as usize, "i2c buf");  //  Buffer too small
  20:	980d      	ldr	r0, [sp, #52]	; 0x34
  22:	990e      	ldr	r1, [sp, #56]	; 0x38
  24:	f8cd e02c 	str.w	lr, [sp, #44]	; 0x2c
  28:	940a      	str	r4, [sp, #40]	; 0x28
  2a:	9509      	str	r5, [sp, #36]	; 0x24
  2c:	f7ff fffe 	bl	0 <core::slice::<impl [T]>::len>
  30:	9008      	str	r0, [sp, #32]
  32:	e7ff      	b.n	34 <app::touch_sensor::read_register_range+0x34>
  34:	f89d 0033 	ldrb.w	r0, [sp, #51]	; 0x33
  38:	9908      	ldr	r1, [sp, #32]
  3a:	4281      	cmp	r1, r0
  3c:	d30c      	bcc.n	58 <app::touch_sensor::read_register_range+0x58>
  3e:	e7ff      	b.n	40 <app::touch_sensor::read_register_range+0x40>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:242
    assert!(start_register + num_registers < 128, "i2c addr");   //  Not 7-bit address
  40:	f89d 0032 	ldrb.w	r0, [sp, #50]	; 0x32
  44:	f89d 1033 	ldrb.w	r1, [sp, #51]	; 0x33
  48:	4408      	add	r0, r1
  4a:	b2c1      	uxtb	r1, r0
  4c:	4602      	mov	r2, r0
  4e:	4281      	cmp	r1, r0
  50:	9207      	str	r2, [sp, #28]
  52:	f040 8096 	bne.w	182 <app::touch_sensor::read_register_range+0x182>
  56:	e00b      	b.n	1a <app::touch_sensor::read_register_range+0x1a>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:241
    assert!(buffer.len() >= num_registers as usize, "i2c buf");  //  Buffer too small
  58:	f240 0000 	movw	r0, #0
  5c:	f2c0 0000 	movt	r0, #0
  60:	f240 0200 	movw	r2, #0
  64:	f2c0 0200 	movt	r2, #0
  68:	2107      	movs	r1, #7
  6a:	f7ff fffe 	bl	0 <core::panicking::panic>
  6e:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:242
    assert!(start_register + num_registers < 128, "i2c addr");   //  Not 7-bit address
  70:	9807      	ldr	r0, [sp, #28]
  72:	b241      	sxtb	r1, r0
  74:	2900      	cmp	r1, #0
  76:	d416      	bmi.n	a6 <app::touch_sensor::read_register_range+0xa6>
  78:	e7ff      	b.n	7a <app::touch_sensor::read_register_range+0x7a>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:251
    //    Send the Start Condition (High to Low SDA Transition)...
    //    Followed by I2C Address (7 bits)...
    //    Followed by Write Mode (1 bit, value 0)...
    //    Followed by starting Register Number (8 bits)
    unsafe { 
        I2C_BUFFER[0] = start_register;  //  I2C Packet buffer contains starting Register Number (1 byte)
  7a:	f89d 0032 	ldrb.w	r0, [sp, #50]	; 0x32
  7e:	f240 0100 	movw	r1, #0
  82:	f2c0 0100 	movt	r1, #0
  86:	7008      	strb	r0, [r1, #0]
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:252
        I2C_DATA.address = addr;         //  I2C Packet address (7 bits)
  88:	f89d 0031 	ldrb.w	r0, [sp, #49]	; 0x31
  8c:	f240 0200 	movw	r2, #0
  90:	f2c0 0200 	movt	r2, #0
  94:	7010      	strb	r0, [r2, #0]
  96:	2001      	movs	r0, #1
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:253
        I2C_DATA.len = I2C_BUFFER.len() as u16;     //  I2C Packet data size is 1 byte
  98:	9006      	str	r0, [sp, #24]
  9a:	4608      	mov	r0, r1
  9c:	9906      	ldr	r1, [sp, #24]
  9e:	f7ff fffe 	bl	0 <core::slice::<impl [T]>::len>
  a2:	9005      	str	r0, [sp, #20]
  a4:	e00b      	b.n	be <app::touch_sensor::read_register_range+0xbe>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:242
    assert!(start_register + num_registers < 128, "i2c addr");   //  Not 7-bit address
  a6:	f240 0000 	movw	r0, #0
  aa:	f2c0 0000 	movt	r0, #0
  ae:	f240 0200 	movw	r2, #0
  b2:	f2c0 0200 	movt	r2, #0
  b6:	2108      	movs	r1, #8
  b8:	f7ff fffe 	bl	0 <core::panicking::panic>
  bc:	defe      	udf	#254	; 0xfe
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:253
        I2C_DATA.len = I2C_BUFFER.len() as u16;     //  I2C Packet data size is 1 byte
  be:	f240 0000 	movw	r0, #0
  c2:	f2c0 0000 	movt	r0, #0
  c6:	9905      	ldr	r1, [sp, #20]
  c8:	8041      	strh	r1, [r0, #2]
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:254
        I2C_DATA.buffer = I2C_BUFFER.as_mut_ptr();  //  I2C Packet data points to packet buffer
  ca:	f240 0000 	movw	r0, #0
  ce:	f2c0 0000 	movt	r0, #0
  d2:	2101      	movs	r1, #1
  d4:	f7ff fffe 	bl	0 <core::slice::<impl [T]>::as_mut_ptr>
  d8:	9004      	str	r0, [sp, #16]
  da:	e7ff      	b.n	dc <app::touch_sensor::read_register_range+0xdc>
  dc:	f240 0000 	movw	r0, #0
  e0:	f2c0 0000 	movt	r0, #0
  e4:	9904      	ldr	r1, [sp, #16]
  e6:	6041      	str	r1, [r0, #4]
  e8:	2201      	movs	r2, #1
  ea:	f44f 737a 	mov.w	r3, #1000	; 0x3e8
  ee:	f04f 0c00 	mov.w	ip, #0
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:256
    };
    let _rc1 = unsafe { hal::hal_i2c_master_write(1, &mut I2C_DATA, 1000, 0) };  //  No stop yet, must continue even if we hit an error
  f2:	9003      	str	r0, [sp, #12]
  f4:	4610      	mov	r0, r2
  f6:	9903      	ldr	r1, [sp, #12]
  f8:	461a      	mov	r2, r3
  fa:	4663      	mov	r3, ip
  fc:	f7ff fffe 	bl	0 <hal_i2c_master_write>
 100:	9010      	str	r0, [sp, #64]	; 0x40
 102:	e7ff      	b.n	104 <app::touch_sensor::read_register_range+0x104>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:262
    //  Step 3: Prepare to receive the stream of I2C Device Register values...
    //    Send the Start Condition (High to Low SDA Transition)...
    //    Followed by I2C Address (7 bits)...
    //    Followed by Read Mode (1 bit, value 1)
    unsafe { 
        I2C_BUFFER[0] = 0x00;     //  I2C Packet buffer should be empty (provided by caller)
 104:	f240 0000 	movw	r0, #0
 108:	f2c0 0000 	movt	r0, #0
 10c:	2100      	movs	r1, #0
 10e:	7001      	strb	r1, [r0, #0]
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:263
        I2C_DATA.address = addr;  //  I2C Packet address (7 bits)
 110:	f89d 0031 	ldrb.w	r0, [sp, #49]	; 0x31
 114:	f240 0100 	movw	r1, #0
 118:	f2c0 0100 	movt	r1, #0
 11c:	7008      	strb	r0, [r1, #0]
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:264
        I2C_DATA.len = num_registers as u16;    //  I2C Packet data size is number of Registers to read
 11e:	f89d 0033 	ldrb.w	r0, [sp, #51]	; 0x33
 122:	8048      	strh	r0, [r1, #2]
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:265
        I2C_DATA.buffer = buffer.as_mut_ptr();  //  I2C Packet data points to packet buffer
 124:	980d      	ldr	r0, [sp, #52]	; 0x34
 126:	990e      	ldr	r1, [sp, #56]	; 0x38
 128:	f7ff fffe 	bl	0 <core::slice::<impl [T]>::as_mut_ptr>
 12c:	9002      	str	r0, [sp, #8]
 12e:	e7ff      	b.n	130 <app::touch_sensor::read_register_range+0x130>
 130:	f240 0000 	movw	r0, #0
 134:	f2c0 0000 	movt	r0, #0
 138:	9902      	ldr	r1, [sp, #8]
 13a:	6041      	str	r1, [r0, #4]
 13c:	f44f 727a 	mov.w	r2, #1000	; 0x3e8
 140:	2301      	movs	r3, #1
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:269
    };
    //  Step 4: Receive the requested number of Register values from I2C Device (1 byte per register)
    //  Step 5: Send the Stop Condition (Low to High SDA Transition)
    let rc2 = unsafe { hal::hal_i2c_master_read(1, &mut I2C_DATA, 1000, 1) };
 142:	9001      	str	r0, [sp, #4]
 144:	4618      	mov	r0, r3
 146:	9901      	ldr	r1, [sp, #4]
 148:	f7ff fffe 	bl	0 <hal_i2c_master_read>
 14c:	9011      	str	r0, [sp, #68]	; 0x44
 14e:	e7ff      	b.n	150 <app::touch_sensor::read_register_range+0x150>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:270
    if rc2 == hal::HAL_I2C_ERR_ADDR_NACK as i32 {
 150:	9811      	ldr	r0, [sp, #68]	; 0x44
 152:	2804      	cmp	r0, #4
 154:	d005      	beq.n	162 <app::touch_sensor::read_register_range+0x162>
 156:	e7ff      	b.n	158 <app::touch_sensor::read_register_range+0x158>
 158:	2000      	movs	r0, #0
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:275
        ////assert!(false, "i2c fail");  //  I2C read failed
        console::print("i2c fail\n"); ////
        return Ok(());               //  TODO: Return an error
    }
    Ok(())
 15a:	900f      	str	r0, [sp, #60]	; 0x3c
 15c:	2001      	movs	r0, #1
 15e:	900f      	str	r0, [sp, #60]	; 0x3c
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:276
}
 160:	e00c      	b.n	17c <app::touch_sensor::read_register_range+0x17c>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:272
        console::print("i2c fail\n"); ////
 162:	f240 0000 	movw	r0, #0
 166:	f2c0 0000 	movt	r0, #0
 16a:	2109      	movs	r1, #9
 16c:	f7ff fffe 	bl	0 <mynewt::sys::console::print>
 170:	e7ff      	b.n	172 <app::touch_sensor::read_register_range+0x172>
 172:	2000      	movs	r0, #0
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:273
        return Ok(());               //  TODO: Return an error
 174:	900f      	str	r0, [sp, #60]	; 0x3c
 176:	2001      	movs	r0, #1
 178:	900f      	str	r0, [sp, #60]	; 0x3c
 17a:	e7ff      	b.n	17c <app::touch_sensor::read_register_range+0x17c>
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:276
}
 17c:	980f      	ldr	r0, [sp, #60]	; 0x3c
 17e:	b012      	add	sp, #72	; 0x48
 180:	bdb0      	pop	{r4, r5, r7, pc}
C:\PineTime\pinetime-rust-mynewt/rust\app\src/touch_sensor.rs:242
    assert!(start_register + num_registers < 128, "i2c addr");   //  Not 7-bit address
 182:	f240 0000 	movw	r0, #0
 186:	f2c0 0000 	movt	r0, #0
 18a:	f240 0200 	movw	r2, #0
 18e:	f2c0 0200 	movt	r2, #0
 192:	211c      	movs	r1, #28
 194:	f7ff fffe 	bl	0 <core::panicking::panic>
 198:	defe      	udf	#254	; 0xfe

app-2c84bd17359ee43e.50rx121aek8kvuk5.rcgu.o:     file format elf32-littlearm

SYMBOL TABLE:
00000000 l    df *ABS*	00000000 50rx121aek8kvuk5
000002d1 l       .debug_str	00000000 
000007d8 l       .debug_str	00000000 
000007d3 l       .debug_str	00000000 
000007dc l       .debug_str	00000000 
00000000 l       .debug_str	00000000 
00000041 l       .debug_str	00000000 
00000055 l       .debug_str	00000000 
00000076 l       .debug_str	00000000 
0000007d l       .debug_str	00000000 
00000084 l       .debug_str	00000000 
0000008b l       .debug_str	00000000 
0000008f l       .debug_str	00000000 
00000097 l       .debug_str	00000000 
000000a2 l       .debug_str	00000000 
000000ad l       .debug_str	00000000 
000000ba l       .debug_str	00000000 
000000c5 l       .debug_str	00000000 
000000cd l       .debug_str	00000000 
000000d8 l       .debug_str	00000000 
000000e3 l       .debug_str	00000000 
000000ed l       .debug_str	00000000 
000000f8 l       .debug_str	00000000 
00000103 l       .debug_str	00000000 
00000110 l       .debug_str	00000000 
0000011c l       .debug_str	00000000 
00000129 l       .debug_str	00000000 
00000137 l       .debug_str	00000000 
00000141 l       .debug_str	00000000 
0000014e l       .debug_str	00000000 
00000162 l       .debug_str	00000000 
00000174 l       .debug_str	00000000 
00000188 l       .debug_str	00000000 
0000019e l       .debug_str	00000000 
000001b4 l       .debug_str	00000000 
000001c0 l       .debug_str	00000000 
000001c5 l       .debug_str	00000000 
000001c9 l       .debug_str	00000000 
000001cc l       .debug_str	00000000 
000001d7 l       .debug_str	00000000 
000001e2 l       .debug_str	00000000 
000001e9 l       .debug_str	00000000 
000001ed l       .debug_str	00000000 
000001f0 l       .debug_str	00000000 
000001f4 l       .debug_str	00000000 
000001fb l       .debug_str	00000000 
000001fe l       .debug_str	00000000 
00000208 l       .debug_str	00000000 
00000213 l       .debug_str	00000000 
0000021c l       .debug_str	00000000 
00000227 l       .debug_str	00000000 
00000233 l       .debug_str	00000000 
00000237 l       .debug_str	00000000 
00000240 l       .debug_str	00000000 
00000247 l       .debug_str	00000000 
0000024f l       .debug_str	00000000 
00000257 l       .debug_str	00000000 
00000261 l       .debug_str	00000000 
00000267 l       .debug_str	00000000 
0000026e l       .debug_str	00000000 
00000278 l       .debug_str	00000000 
0000027f l       .debug_str	00000000 
00000286 l       .debug_str	00000000 
0000028b l       .debug_str	00000000 
000002a2 l       .debug_str	00000000 
000002cf l       .debug_str	00000000 
000007cd l       .debug_str	00000000 
000002d6 l       .debug_str	00000000 
0000030b l       .debug_str	00000000 
00000311 l       .debug_str	00000000 
00000317 l       .debug_str	00000000 
00000326 l       .debug_str	00000000 
00000336 l       .debug_str	00000000 
00000346 l       .debug_str	00000000 
0000034e l       .debug_str	00000000 
00000377 l       .debug_str	00000000 
000003d5 l       .debug_str	00000000 
0000043b l       .debug_str	00000000 
00000442 l       .debug_str	00000000 
0000044a l       .debug_str	00000000 
00000453 l       .debug_str	00000000 
00000471 l       .debug_str	00000000 
00000481 l       .debug_str	00000000 
0000048f l       .debug_str	00000000 
0000049a l       .debug_str	00000000 
000004a7 l       .debug_str	00000000 
000004b6 l       .debug_str	00000000 
000004c0 l       .debug_str	00000000 
000004d6 l       .debug_str	00000000 
000004e0 l       .debug_str	00000000 
000004e9 l       .debug_str	00000000 
000004f2 l       .debug_str	00000000 
00000518 l       .debug_str	00000000 
0000052e l       .debug_str	00000000 
00000539 l       .debug_str	00000000 
0000054f l       .debug_str	00000000 
00000557 l       .debug_str	00000000 
00000578 l       .debug_str	00000000 
00000581 l       .debug_str	00000000 
0000058a l       .debug_str	00000000 
00000595 l       .debug_str	00000000 
0000059f l       .debug_str	00000000 
000005a5 l       .debug_str	00000000 
000005dd l       .debug_str	00000000 
0000061d l       .debug_str	00000000 
00000624 l       .debug_str	00000000 
0000062c l       .debug_str	00000000 
00000643 l       .debug_str	00000000 
0000064c l       .debug_str	00000000 
0000066e l       .debug_str	00000000 
00000678 l       .debug_str	00000000 
0000069f l       .debug_str	00000000 
000006b7 l       .debug_str	00000000 
000006c1 l       .debug_str	00000000 
000006e4 l       .debug_str	00000000 
000006e6 l       .debug_str	00000000 
000006ea l       .debug_str	00000000 
00000732 l       .debug_str	00000000 
00000772 l       .debug_str	00000000 
000007b9 l       .debug_str	00000000 
000007bd l       .debug_str	00000000 
000007c6 l       .debug_str	00000000 
000007da l       .debug_str	00000000 
00000000 l     O .rodata..Lanon.0591662cb109bf8bf04fc39fa5f9ba2b.0	00000010 .Lanon.0591662cb109bf8bf04fc39fa5f9ba2b.0
00000000 l    d  .text._ZN4core6result19Result$LT$T$C$E$GT$6expect17h3b8ffdbd0fc4484eE	00000000 .text._ZN4core6result19Result$LT$T$C$E$GT$6expect17h3b8ffdbd0fc4484eE
00000000 l    d  .rodata..Lanon.0591662cb109bf8bf04fc39fa5f9ba2b.0	00000000 .rodata..Lanon.0591662cb109bf8bf04fc39fa5f9ba2b.0
00000000 l    d  .debug_loc	00000000 .debug_loc
00000000 l    d  .debug_abbrev	00000000 .debug_abbrev
00000000 l    d  .debug_info	00000000 .debug_info
00000000 l    d  .debug_frame	00000000 .debug_frame
00000000 l    d  .debug_line	00000000 .debug_line
00000000         *UND*	00000000 core::ptr::drop_in_place
00000000         *UND*	00000000 core::result::unwrap_failed
00000000 g     F .text._ZN4core6result19Result$LT$T$C$E$GT$6expect17h3b8ffdbd0fc4484eE	00000052 core::result::Result<T,E>::expect
00000000         *UND*	00000000 <mynewt::result::MynewtError as core::fmt::Debug>::fmt



Disassembly of section .text._ZN4core6result19Result$LT$T$C$E$GT$6expect17h3b8ffdbd0fc4484eE:

00000000 <core::result::Result<T,E>::expect>:
_ZN4core6result19Result$LT$T$C$E$GT$6expect17h3b8ffdbd0fc4484eE():
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/result.rs:988
   0:	b088      	sub	sp, #32
   2:	9104      	str	r1, [sp, #16]
   4:	9205      	str	r2, [sp, #20]
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/result.rs:990
   6:	6801      	ldr	r1, [r0, #0]
   8:	2900      	cmp	r1, #0
   a:	9303      	str	r3, [sp, #12]
   c:	9002      	str	r0, [sp, #8]
   e:	d002      	beq.n	16 <core::result::Result<T,E>::expect+0x16>
  10:	e7ff      	b.n	12 <core::result::Result<T,E>::expect+0x12>
  12:	e00a      	b.n	2a <core::result::Result<T,E>::expect+0x2a>
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/result.rs:989
  14:	defe      	udf	#254	; 0xfe
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/result.rs:990
  16:	9802      	ldr	r0, [sp, #8]
  18:	6841      	ldr	r1, [r0, #4]
  1a:	9106      	str	r1, [sp, #24]
  1c:	9806      	ldr	r0, [sp, #24]
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/result.rs:993
  1e:	9902      	ldr	r1, [sp, #8]
  20:	680a      	ldr	r2, [r1, #0]
  22:	2a00      	cmp	r2, #0
  24:	9001      	str	r0, [sp, #4]
  26:	d010      	beq.n	4a <core::result::Result<T,E>::expect+0x4a>
  28:	e012      	b.n	50 <core::result::Result<T,E>::expect+0x50>
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/result.rs:991
  2a:	9802      	ldr	r0, [sp, #8]
  2c:	6841      	ldr	r1, [r0, #4]
  2e:	9107      	str	r1, [sp, #28]
  30:	9804      	ldr	r0, [sp, #16]
  32:	9905      	ldr	r1, [sp, #20]
  34:	466a      	mov	r2, sp
  36:	9b03      	ldr	r3, [sp, #12]
  38:	6013      	str	r3, [r2, #0]
  3a:	f240 0300 	movw	r3, #0
  3e:	f2c0 0300 	movt	r3, #0
  42:	aa07      	add	r2, sp, #28
  44:	f7ff fffe 	bl	0 <core::result::unwrap_failed>
  48:	defe      	udf	#254	; 0xfe
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/result.rs:993
  4a:	9801      	ldr	r0, [sp, #4]
  4c:	b008      	add	sp, #32
  4e:	4770      	bx	lr
  50:	e7fb      	b.n	4a <core::result::Result<T,E>::expect+0x4a>

app-2c84bd17359ee43e.5cr24e6ngv3b79xv.rcgu.o:     file format elf32-littlearm

SYMBOL TABLE:
00000000 l    df *ABS*	00000000 5cr24e6ngv3b79xv
00000119 l       .debug_str	00000000 
00000237 l       .debug_str	00000000 
00000263 l       .debug_str	00000000 
0000022f l       .debug_str	00000000 
0000025e l       .debug_str	00000000 
00000227 l       .debug_str	00000000 
00000252 l       .debug_str	00000000 
00000222 l       .debug_str	00000000 
00000000 l       .debug_str	00000000 
00000041 l       .debug_str	00000000 
00000055 l       .debug_str	00000000 
00000076 l       .debug_str	00000000 
0000007b l       .debug_str	00000000 
0000007f l       .debug_str	00000000 
00000088 l       .debug_str	00000000 
0000008a l       .debug_str	00000000 
0000008e l       .debug_str	00000000 
00000095 l       .debug_str	00000000 
0000009e l       .debug_str	00000000 
000000a1 l       .debug_str	00000000 
000000ab l       .debug_str	00000000 
000000b2 l       .debug_str	00000000 
000000b8 l       .debug_str	00000000 
000000bd l       .debug_str	00000000 
000000bf l       .debug_str	00000000 
00000106 l       .debug_str	00000000 
000001c4 l       .debug_str	00000000 
00000120 l       .debug_str	00000000 
00000124 l       .debug_str	00000000 
00000129 l       .debug_str	00000000 
0000012f l       .debug_str	00000000 
00000134 l       .debug_str	00000000 
00000138 l       .debug_str	00000000 
00000146 l       .debug_str	00000000 
00000182 l       .debug_str	00000000 
0000018b l       .debug_str	00000000 
00000190 l       .debug_str	00000000 
000001bb l       .debug_str	00000000 
0000023e l       .debug_str	00000000 
00000000 l    d  .text._ZN31_$LT$dyn$u20$core..any..Any$GT$12downcast_ref17h79bc264b95004791E	00000000 .text._ZN31_$LT$dyn$u20$core..any..Any$GT$12downcast_ref17h79bc264b95004791E
00000000 l    d  .text._ZN31_$LT$dyn$u20$core..any..Any$GT$2is17h7868dfcb89a6f412E	00000000 .text._ZN31_$LT$dyn$u20$core..any..Any$GT$2is17h7868dfcb89a6f412E
00000000 l    d  .text._ZN4core3any6TypeId2of17hf34046d064056593E	00000000 .text._ZN4core3any6TypeId2of17hf34046d064056593E
00000000 l    d  .text._ZN54_$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$GT$12downcast_ref17h97d283dc33b24250E	00000000 .text._ZN54_$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$GT$12downcast_ref17h97d283dc33b24250E
00000000 l    d  .debug_abbrev	00000000 .debug_abbrev
00000000 l    d  .debug_info	00000000 .debug_info
00000000 l    d  .debug_ranges	00000000 .debug_ranges
00000000 l    d  .debug_frame	00000000 .debug_frame
00000000 l    d  .debug_line	00000000 .debug_line
00000000 g     F .text._ZN31_$LT$dyn$u20$core..any..Any$GT$12downcast_ref17h79bc264b95004791E	00000030 <dyn core::any::Any>::downcast_ref
00000000 g     F .text._ZN31_$LT$dyn$u20$core..any..Any$GT$2is17h7868dfcb89a6f412E	00000036 <dyn core::any::Any>::is
00000000 g     F .text._ZN4core3any6TypeId2of17hf34046d064056593E	00000030 core::any::TypeId::of
00000000 g     F .text._ZN54_$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$GT$12downcast_ref17h97d283dc33b24250E	0000001a <dyn core::any::Any+core::marker::Send>::downcast_ref
00000000         *UND*	00000000 .hidden <core::any::TypeId as core::cmp::PartialEq>::eq



Disassembly of section .text._ZN31_$LT$dyn$u20$core..any..Any$GT$12downcast_ref17h79bc264b95004791E:

00000000 <<dyn core::any::Any>::downcast_ref>:
_ZN31_$LT$dyn$u20$core..any..Any$GT$12downcast_ref17h79bc264b95004791E():
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:195
   0:	b580      	push	{r7, lr}
   2:	b084      	sub	sp, #16
   4:	9001      	str	r0, [sp, #4]
   6:	9102      	str	r1, [sp, #8]
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:196
   8:	9801      	ldr	r0, [sp, #4]
   a:	9902      	ldr	r1, [sp, #8]
   c:	f7ff fffe 	bl	0 <<dyn core::any::Any>::downcast_ref>
  10:	9000      	str	r0, [sp, #0]
  12:	e7ff      	b.n	14 <<dyn core::any::Any>::downcast_ref+0x14>
  14:	9800      	ldr	r0, [sp, #0]
  16:	07c1      	lsls	r1, r0, #31
  18:	2900      	cmp	r1, #0
  1a:	d103      	bne.n	24 <<dyn core::any::Any>::downcast_ref+0x24>
  1c:	e7ff      	b.n	1e <<dyn core::any::Any>::downcast_ref+0x1e>
  1e:	2000      	movs	r0, #0
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:202
  20:	9003      	str	r0, [sp, #12]
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:196
  22:	e002      	b.n	2a <<dyn core::any::Any>::downcast_ref+0x2a>
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:200
  24:	9801      	ldr	r0, [sp, #4]
  26:	9003      	str	r0, [sp, #12]
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:196
  28:	e7ff      	b.n	2a <<dyn core::any::Any>::downcast_ref+0x2a>
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:204
  2a:	9803      	ldr	r0, [sp, #12]
  2c:	b004      	add	sp, #16
  2e:	bd80      	pop	{r7, pc}

Disassembly of section .text._ZN31_$LT$dyn$u20$core..any..Any$GT$2is17h7868dfcb89a6f412E:

00000000 <<dyn core::any::Any>::is>:
_ZN31_$LT$dyn$u20$core..any..Any$GT$2is17h7868dfcb89a6f412E():
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:163
   0:	b580      	push	{r7, lr}
   2:	b088      	sub	sp, #32
   4:	9002      	str	r0, [sp, #8]
   6:	9103      	str	r1, [sp, #12]
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:165
   8:	f7ff fffe 	bl	0 <<dyn core::any::Any>::is>
   c:	9105      	str	r1, [sp, #20]
   e:	9004      	str	r0, [sp, #16]
  10:	e7ff      	b.n	12 <<dyn core::any::Any>::is+0x12>
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:168
  12:	9802      	ldr	r0, [sp, #8]
  14:	9903      	ldr	r1, [sp, #12]
  16:	68c9      	ldr	r1, [r1, #12]
  18:	4788      	blx	r1
  1a:	9107      	str	r1, [sp, #28]
  1c:	9006      	str	r0, [sp, #24]
  1e:	e7ff      	b.n	20 <<dyn core::any::Any>::is+0x20>
  20:	a804      	add	r0, sp, #16
  22:	a906      	add	r1, sp, #24
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:171
  24:	f7ff fffe 	bl	0 <<core::any::TypeId as core::cmp::PartialEq>::eq>
  28:	9001      	str	r0, [sp, #4]
  2a:	e7ff      	b.n	2c <<dyn core::any::Any>::is+0x2c>
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:172
  2c:	9801      	ldr	r0, [sp, #4]
  2e:	f000 0001 	and.w	r0, r0, #1
  32:	b008      	add	sp, #32
  34:	bd80      	pop	{r7, pc}

Disassembly of section .text._ZN4core3any6TypeId2of17hf34046d064056593E:

00000000 <core::any::TypeId::of>:
_ZN4core3any6TypeId2of17hf34046d064056593E():
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:439
   0:	b086      	sub	sp, #24
   2:	f249 40d9 	movw	r0, #38105	; 0x94d9
   6:	f2c1 1010 	movt	r0, #4368	; 0x1110
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:440
   a:	9005      	str	r0, [sp, #20]
   c:	f249 7064 	movw	r0, #38756	; 0x9764
  10:	f2c7 00b0 	movt	r0, #28848	; 0x70b0
  14:	9004      	str	r0, [sp, #16]
  16:	9804      	ldr	r0, [sp, #16]
  18:	9905      	ldr	r1, [sp, #20]
  1a:	9001      	str	r0, [sp, #4]
  1c:	9100      	str	r1, [sp, #0]
  1e:	e7ff      	b.n	20 <core::any::TypeId::of+0x20>
  20:	9801      	ldr	r0, [sp, #4]
  22:	9002      	str	r0, [sp, #8]
  24:	9900      	ldr	r1, [sp, #0]
  26:	9103      	str	r1, [sp, #12]
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:441
  28:	9802      	ldr	r0, [sp, #8]
  2a:	9903      	ldr	r1, [sp, #12]
  2c:	b006      	add	sp, #24
  2e:	4770      	bx	lr

Disassembly of section .text._ZN54_$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$GT$12downcast_ref17h97d283dc33b24250E:

00000000 <<dyn core::any::Any+core::marker::Send>::downcast_ref>:
_ZN54_$LT$dyn$u20$core..any..Any$u2b$core..marker..Send$GT$12downcast_ref17h97d283dc33b24250E():
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:288
   0:	b580      	push	{r7, lr}
   2:	b084      	sub	sp, #16
   4:	9002      	str	r0, [sp, #8]
   6:	9103      	str	r1, [sp, #12]
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:289
   8:	9802      	ldr	r0, [sp, #8]
   a:	9903      	ldr	r1, [sp, #12]
   c:	f7ff fffe 	bl	0 <<dyn core::any::Any+core::marker::Send>::downcast_ref>
  10:	9001      	str	r0, [sp, #4]
  12:	e7ff      	b.n	14 <<dyn core::any::Any+core::marker::Send>::downcast_ref+0x14>
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/any.rs:290
  14:	9801      	ldr	r0, [sp, #4]
  16:	b004      	add	sp, #16
  18:	bd80      	pop	{r7, pc}

app-2c84bd17359ee43e.s5kxcbsbexodfdy.rcgu.o:     file format elf32-littlearm

SYMBOL TABLE:
00000000 l    df *ABS*	00000000 s5kxcbsbexodfdy
0000015c l       .debug_str	00000000 
00000383 l       .debug_str	00000000 
00000000 l       .debug_str	00000000 
00000041 l       .debug_str	00000000 
00000055 l       .debug_str	00000000 
00000076 l       .debug_str	00000000 
0000007b l       .debug_str	00000000 
0000007f l       .debug_str	00000000 
00000082 l       .debug_str	00000000 
00000085 l       .debug_str	00000000 
00000088 l       .debug_str	00000000 
0000008d l       .debug_str	00000000 
00000093 l       .debug_str	00000000 
0000009a l       .debug_str	00000000 
000000a2 l       .debug_str	00000000 
000000ac l       .debug_str	00000000 
000000b3 l       .debug_str	00000000 
000000b6 l       .debug_str	00000000 
000000ba l       .debug_str	00000000 
000000c1 l       .debug_str	00000000 
000000c8 l       .debug_str	00000000 
000000d1 l       .debug_str	00000000 
000000db l       .debug_str	00000000 
000000e2 l       .debug_str	00000000 
000000e8 l       .debug_str	00000000 
000000ed l       .debug_str	00000000 
000000f9 l       .debug_str	00000000 
00000101 l       .debug_str	00000000 
00000108 l       .debug_str	00000000 
0000010c l       .debug_str	00000000 
00000111 l       .debug_str	00000000 
0000011a l       .debug_str	00000000 
00000121 l       .debug_str	00000000 
00000126 l       .debug_str	00000000 
0000012b l       .debug_str	00000000 
00000131 l       .debug_str	00000000 
00000137 l       .debug_str	00000000 
00000141 l       .debug_str	00000000 
00000144 l       .debug_str	00000000 
00000148 l       .debug_str	00000000 
0000014e l       .debug_str	00000000 
00000156 l       .debug_str	00000000 
00000379 l       .debug_str	00000000 
00000162 l       .debug_str	00000000 
0000016d l       .debug_str	00000000 
00000176 l       .debug_str	00000000 
00000199 l       .debug_str	00000000 
000001b8 l       .debug_str	00000000 
000001ba l       .debug_str	00000000 
000001bf l       .debug_str	00000000 
000001e6 l       .debug_str	00000000 
000001eb l       .debug_str	00000000 
000001f1 l       .debug_str	00000000 
000001f7 l       .debug_str	00000000 
000001fa l       .debug_str	00000000 
00000209 l       .debug_str	00000000 
00000210 l       .debug_str	00000000 
00000214 l       .debug_str	00000000 
0000021d l       .debug_str	00000000 
00000225 l       .debug_str	00000000 
0000022d l       .debug_str	00000000 
00000234 l       .debug_str	00000000 
00000248 l       .debug_str	00000000 
00000254 l       .debug_str	00000000 
00000260 l       .debug_str	00000000 
00000279 l       .debug_str	00000000 
0000027e l       .debug_str	00000000 
0000028f l       .debug_str	00000000 
00000299 l       .debug_str	00000000 
000002a7 l       .debug_str	00000000 
000002ab l       .debug_str	00000000 
000002b6 l       .debug_str	00000000 
000002c0 l       .debug_str	00000000 
000002da l       .debug_str	00000000 
00000338 l       .debug_str	00000000 
00000343 l       .debug_str	00000000 
00000360 l       .debug_str	00000000 
000003b5 l       .debug_str	00000000 
00000000 l    d  .text._ZN4core3fmt9Arguments6new_v117h54cc51514445bde4E	00000000 .text._ZN4core3fmt9Arguments6new_v117h54cc51514445bde4E
00000000 l    d  .debug_abbrev	00000000 .debug_abbrev
00000000 l    d  .debug_info	00000000 .debug_info
00000000 l    d  .debug_frame	00000000 .debug_frame
00000000 l    d  .debug_line	00000000 .debug_line
00000000 g     F .text._ZN4core3fmt9Arguments6new_v117h54cc51514445bde4E	00000038 .hidden core::fmt::Arguments::new_v1



Disassembly of section .text._ZN4core3fmt9Arguments6new_v117h54cc51514445bde4E:

00000000 <core::fmt::Arguments::new_v1>:
_ZN4core3fmt9Arguments6new_v117h54cc51514445bde4E():
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/fmt/mod.rs:310
   0:	b086      	sub	sp, #24
   2:	f8dd c018 	ldr.w	ip, [sp, #24]
   6:	9100      	str	r1, [sp, #0]
   8:	9201      	str	r2, [sp, #4]
   a:	9302      	str	r3, [sp, #8]
   c:	f8cd c00c 	str.w	ip, [sp, #12]
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/fmt/mod.rs:311
  10:	9900      	ldr	r1, [sp, #0]
  12:	9a01      	ldr	r2, [sp, #4]
  14:	2300      	movs	r3, #0
  16:	9305      	str	r3, [sp, #20]
  18:	9304      	str	r3, [sp, #16]
  1a:	9304      	str	r3, [sp, #16]
  1c:	9b02      	ldr	r3, [sp, #8]
  1e:	f8dd c00c 	ldr.w	ip, [sp, #12]
  22:	6001      	str	r1, [r0, #0]
  24:	6042      	str	r2, [r0, #4]
  26:	9904      	ldr	r1, [sp, #16]
  28:	9a05      	ldr	r2, [sp, #20]
  2a:	6081      	str	r1, [r0, #8]
  2c:	60c2      	str	r2, [r0, #12]
  2e:	6103      	str	r3, [r0, #16]
  30:	f8c0 c014 	str.w	ip, [r0, #20]
/rustc/f43c34a134358471726f25fe5973b8c7e177c825/src/libcore/fmt/mod.rs:312
  34:	b006      	add	sp, #24
  36:	4770      	bx	lr
arm-none-eabi-objdump: lib.rmeta: File format not recognized
arm-none-eabi-objdump: app-2c84bd17359ee43e.10zn9ae9k56vomcm.rcgu.bc.z: File format not recognized
arm-none-eabi-objdump: app-2c84bd17359ee43e.1ky2n1yae87xdixz.rcgu.bc.z: File format not recognized
arm-none-eabi-objdump: app-2c84bd17359ee43e.1s7rm9crhe3prmrp.rcgu.bc.z: File format not recognized
arm-none-eabi-objdump: app-2c84bd17359ee43e.2j1ba2thuuo0vuxg.rcgu.bc.z: File format not recognized
arm-none-eabi-objdump: app-2c84bd17359ee43e.32dcd6nlnu95nyeb.rcgu.bc.z: File format not recognized
arm-none-eabi-objdump: app-2c84bd17359ee43e.3afpyhrw1mr45x19.rcgu.bc.z: File format not recognized
arm-none-eabi-objdump: app-2c84bd17359ee43e.3ba6gnocekb9a90f.rcgu.bc.z: File format not recognized
arm-none-eabi-objdump: app-2c84bd17359ee43e.3suc6ryypl5obghe.rcgu.bc.z: File format not recognized
arm-none-eabi-objdump: app-2c84bd17359ee43e.4caoucu3tq1q1ug7.rcgu.bc.z: File format not recognized
arm-none-eabi-objdump: app-2c84bd17359ee43e.4l2nlx5j4qrnqhb3.rcgu.bc.z: File format not recognized
arm-none-eabi-objdump: app-2c84bd17359ee43e.50rx121aek8kvuk5.rcgu.bc.z: File format not recognized
arm-none-eabi-objdump: app-2c84bd17359ee43e.5cr24e6ngv3b79xv.rcgu.bc.z: File format not recognized
arm-none-eabi-objdump: app-2c84bd17359ee43e.s5kxcbsbexodfdy.rcgu.bc.z: File format not recognized
